[5단원]5원칙 - DIP

의존 역전 원칙 (Dependency Inversion Principle)

정의

  • 고차원의 모듈이 저찬원의 모듈에 직접 의존하는 것을 피해야함

주요 내용

의존 역전 원칙의 주장

  • 고차원 모듈은 저차원의 모듈에 의존X
  • 추상화된 것은 구체적인 것에 의존 X
  • 구체적인 것이 추상화된 것에 의존
  • 이 두 모듈은 모두 다른 추상화된 것에 의존

예시

  • 자동차가 구체적인 스노우 타이어에 의존하는 관계
  • 스노우 타이어는 계절에 따라 일반 타이어로 교체될 수 있음
    • 자동차는 자주 바뀔 가능성이 있는 스노우 타이어에 의존하는 문제점
  • <개선>
    • 자동차가 구체적인 타이어들 ( 스노우, 일반, 광폭 ) 에 직접 의존하는 대신 추상화된 타이어 인터페이스에만 의존

의존 역전 원칙의 장점 및 특징

변화의 영향 최소화

  • 추상화된 인터페이스나 슈퍼 클래스를 통해 변화가 잦은 구체적인 요소에 의존 X
  • 시스템 유연성 확장성 향상

자주 변경되는 요소로부터 독립

  • 구체적인 요소 변경시 해당 요소를 사용하는 모든 코드를 수정X
  • 유지보수 용이

“자신보다 변하기 쉬운 것에 의존하지 마라”

  • OCP 가 적용되는 JDBC 에서도 인터페이스를 의존함으로서 의존 역전 원칙을 지키고 있음.


Uploaded by N2T

'자바 > 스프링입문객체지향' 카테고리의 다른 글

[5단원]5원칙 - LSP  (0) 2023.09.13
[5단원]5원칙 - ISP  (0) 2023.09.13
[5단원] 객체지향 세계와 SOLID 마무리  (0) 2023.09.13
[5단원]5원칙 - SOLID  (0) 2023.09.10
[5단원]5원칙 - SRP  (0) 2023.09.10