코루틴으로 기존 프로그램 구조를 변경하다가, DI에 대해 다시 재정리가 필요할 것 같아서 재정리..합니다 DI (Dependency Injection) 의존성 주입 직접 객체를 생성하지 않고, 외부로부터 주입받는 방법 (객체의 의존성을 주입) 왜 이런 개념을 사용해야하는지 알아보겠습니다 (공식문서 참조) 의존성을 주입하지 않는 예시(클래스에서 인스턴스를 직접 생성) class Car { private val engine = Engine() fun start() { engine.start() } } fun main(args: Array) { val car = Car() car.start() } 위 코드에서의 문제점은 😱 Car, Engine이 너무 밀접하게 연결됨 (테스트가 어려움) 😱 Car에서 Engi..