[JAVA] DIP 개념과 추상화 (Abstraction) VS 구체화 (Instantiation)


[JAVA] DIP 개념과 추상화 (Abstraction) VS 구체화 (Instantiation)

DIP는 "의존 역전 원칙(Dependency Inversion Principle)란? DIP는 객체 지향 설계 원칙 중 하나로, 소프트웨어의 모듈 간 의존성을 관리하는 방법을 아래와 같이 제시한다. 고수준 모듈은 저수준 모듈에 의존해서는 안 된다. 양쪽 모두 추상화에 의존해야 한다. 예를 들어, 고수준 비즈니스 로직 클래스가 저수준 데이터 액세스 클래스를 직접 생성하고 사용한다면, DIP를 위반하고 있을 수 있는 것이다. 추상화는 세부 사항에 의존해서는 안 된다. 세부 사항은 추상화에 의존해야 한다. 예를 들어, 고수준 서비스 클래스가 특정 구현 클래스에 직접 의존한다면, DIP를 위반하고 있을 수 있는 것이다. 더보기 고수준 모듈 (High-Level Module): 고수준 모듈은 상위 수준의 추상화..


원문링크 : [JAVA] DIP 개념과 추상화 (Abstraction) VS 구체화 (Instantiation)