@ 의존관계 주입(DI, Dependency Injection) : 오브젝트 레퍼런스를 외부로부터 제공(주입)받고 이를 통해 여타 오브젝트와 다이내믹하게 의존관계가 만들어지는 것

@ 의존관계:
A가 B를 사용하는경우. A에서 B에 정의된 메서드를 호출하는 경우(사용에 대한 의존 관계) 

A는 B에 의존하고 있다. B가 변하면 그 영향이 A에도 미친다.  

인터페이스에 대하서만 의존관계를 만들어두면 인터페이스 구현 클래스와의 관계는 느슨해지면서 변화에 영향을 덜 받는 상태가 됨

@ DI는 아래 3가지 조건을 충족하는 작업이다
1. 클래스 모델이나 코드에는 런타임 시점의 의존관계가 드러나지 않는다. 그러기 위해서는 인터페이스에만 의존하고 있어야 한다.
2. 런타임 시점의 의존관계는 컨테이너나 팩토리 같은 제 3의 존재가 결정한다.
3. 의존관계는 사용할 오브젝트에 대한 레퍼런스를 외부에서 제공(주입)해줌으로써 만들어진다.

@ 의존관계 검색(DL : Dependency Lookup) : 자신이 필요로 하는 의존 오브젝트를 능동적으로 찾음
Posted by Taoist
,