ViewModel의 init {} 블록에서 상태를 초기화하는 것은 편리해보인다.나도 프로젝트에서 종종 그렇게 해 오고는 했는데, 그렇게 하지말라는 이유는 다음과 같다. 1. ViewModel 생성과 강하게 커플링됨데이터를 가져오는 타이밍이 ViewModel 생성시에 있기 때문에, 새로고침 등 사용자 상호작용이나 기타 이벤트에 따라 데이터 로딩시점을 제어하기 어렵게 만든다. 2. 테스트하기 어려움ViewModel이 생성되자마자 데이터 로드가 시작되므로 1번의 이유로 인해 테스트하기 어려워진다. 3. 리소스 낭비의 가능성앱이나 화면에 진입하자마자 데이터를 필요로 하지 않을 경우, 자원의 비효율적인 사용으로 이어질 수 있음. 4. UI 응답성init {} 블록은 최대한 가볍게 유지해야한다. 여기에서 메인 ..