의존성 주입(DI, Dependency Injection)이란? 외부에서 두 객체 간의 관계를 결정해 주는 디자인 패턴 의존성이란 한 객체가 다른 객체를 사용할 때 의존성이 있다고 한다. 예를 들어 다음과 같이 Car 객체가 Engine 객체를 사용하고 있는 경우에 Car 객체가 Engine 객체에 의존성이 있다고 표현한다. public class Car { private val engine = Engine() } 의존성 주입이 필요한 이유 의존성 주입을 하지 않은 경우 아래와 같이 Car 클래스 내부에서 Engine을 직접 생성하는 경우 의존성 주입이 이루어지지 않았다고 볼 수 있다. class Car { private val engine = Engine() fun start() { engine.sta..