DI
종속객체 주입 (DI, Dependency Injection)
종속객체 주입 (DI, Dependency Injection)아래와 같은 코드가 있다고 가정해보자. 1234567891011121314public class DamselRescuingKnight implements Knight{ private RescueDamselQuest quest; public DamselRescuingKnight () { this.quest = new RescueDamselQuest (); } public void embarkOnQuest () { quest.embark(); }}Colored by Color Scriptercs 이 코드에서는 DamselRescuingKnight 클래스를 생성했을 때 RescueDamselQuest 객체를 생성한다.이 경우에는 새로운 RescueD..
의존관계 주입(DI, Dependency Injection)
의존관계 주입(DI, Dependency Injection) 오브젝트 레퍼런스를 외부로부터 주입받고 이를 통해 여타 오브젝트와 다이나믹하게 의존관계가 만들어지는 것.구체적인 의존 오브젝트와 그것을 사용할 주체, 클라이언트라고 부르는 오브젝트를 런타임시에 연결해주는 작업이다. 조건1. 클래스 모델이나 코드에는 런타임 시점의 의존관계가 드러나지 않아야한다.: 이를 위해서는 인터페이스에만 의존을 해야한다.2. 런타임 시점의 의존관계는 컨테이너나 팩토리같은 제3의 존재가 결정한다.3. 의존관계는 사용할 오브젝트에 대한 레퍼런스를 외부에서 제공(주입)해줌으로써 만들어진다. 효과1. 런타임 시에만 의존관계가 주입되기 때문에 관계가 느슨해지면서 변화에 영향을 덜 받는다. => 결합도가 낮아진다. 핵심1. 오브젝트는 ..