포스트

2023-04-21-OOP-DIP

2023-04-21-OOP-DIP
AI 요약

의존 관계 역전 원칙(DIP)은 프로그램이 구체화 대신 추상화에 의존해야 함을 강조함. 이는 수정에 취약한 코드를 방지하고 시스템의 유연성을 확보하기 위함임. 변하는 부분을 추상화하여 해당 원칙을 따름으로써 확장 가능한 코드를 만들 수 있음.

의존 관계 역전 원칙 (DIP - Dependency Inversion Principle)

  • 프로그램은 추상화에 의존해야지 구체화에 의존하면 안된다.
  • 의존성 주입은 이 원칙을 따르는 방법 중 하나다

의존 관계의 문제?

  • 수정에 취약한 코드가 된다.

추상화란?

  • 유연성을 확보하기 위해 구체적인 것은 제거한다는 의미이다.
  • 어떤 양상, 세부사항, 구조를 좀 더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법이다.
  • 프로그램에서 필요한 공통점을 추출하고, 불필요한 공통점을 제거하는 과정이다.

구체화란?

  • 어떻게 할 것인지를 실제적으로 표현한 것이다.

DIP를 따를 때의 이점

  • 수정에 취약하지 않는 코드가 된다.
  • 메소드를 추가하더라도 클라이언트의 코드는 수정이 필요 없다
  • 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있다

주의점

  • 변하는 부분과 변하지 않는 부분을 분리하고, 변하는 부분을 추상화 해야한다.

출처 : 위키백과, 메타버스 강사님 강의, 객체지향의 사실과 오해

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.