Daily iOS
아키텍처

DI vs DIP

의존성 주입(Dependency Injection)과 의존성 역전 원칙(Dependency Inversion Principle)은 이름이 비슷한데 무엇이 다른가요?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

DIP는 '상위 정책이 구체가 아니라 추상에 의존하고, 구체가 그 추상을 구현한다'는 설계 원칙이고, DI는 '객체가 필요한 것을 스스로 만들지 않고 밖에서 받는다'는 기법이다. DI는 DIP를 실현하는 흔한 수단이지만 구체 타입을 주입하면 DIP는 여전히 깨져 있다.

받은 질문 공유