Di1 [일지] 의존관계 주입의 필요성 # 객체 지향 설계에서 의존관계 class Car{ // Engine 은 인터페이스 & SuperEngine 은 Engine의 구현체 private final Engine engine = new SuperEngine(); ... } 위와 같은 코드가 있다고 가정해보자. 자동차는 반드시 엔진이 필요하다. 그래서 처음 설계할 때, 자동차는 엔진이라는 인터페이스에 의존하도록 설계하였다. 인터페이스에 의존하는 것처럼 보이지만 실제는 그렇지 않다. 아래 그림처럼 되기를 원하지만 실제는 아래와 같다. 만약 울트라 엔진으로 고친다면 아래처럼 Car의 코드를 수정해야한다. class Car{ // Engine 은 인터페이스 & UltraEngine 은 Engine의 구현체 private final Engine engi.. 2020. 10. 11. 이전 1 다음