의존관계 주입

    의존관계 주입(DI)과 객체 지향 설계

    의존관계 주입(Dependency Injection)이란 의존관계 주입(DI)이란 구체적인 의존 오브젝트와 그것을 사용할 주체 오브젝트를 런타임 시에 연결해주는 작업을 말한다. 조금 더 구체적으로는 다음과 같은 세 가지 조건을 충족하는 작업을 말한다. 클래스 모델이나 코드에는 런타임 시점의 의존관계가 드러나지 않는다. 그러기 위해서는 인터페이스에만 의존하고 있어야 한다. 런타임 시점의 의존관계는 컨테이너나 팩토리 같은 제 3의 존재가 결정한다. 의존관계는 사용할 오브젝트에 대한 레퍼런스를 외부에서 주입해줌으로써 만들어진다. 이러한 의존관계 주입은 유연성, 재사용성, 테스트 용이성 등 여러 가지 장점을 가져다주는데, 여기서는 객체 지향 설계 원칙인 단일 책임 원칙(SRP)과 개방-폐쇠 원칙(OCP)을 지킬..