문제
객체지향 설계 원칙 중 **의존성 역전 원칙(DIP: Dependency Inversion Principle)**의 의미를 설명하시오.
정답
DIP는 고수준 모듈이 저수준 모듈에 의존하지 않고, 둘 다 추상화에 의존해야 한다는 원칙이다. 구체적인 구현이 아닌 인터페이스나 추상 클래스에 의존하여 시스템의 유연성과 확장성을 높인다.
의존성 역전DIP고수준 모듈저수준 모듈추상화인터페이스유연성
해설
의존성 역전 원칙은 SOLID 원칙 중 하나로, 전통적인 의존 관계를 뒤바꾸는 원칙입니다. 고수준 모듈(비즈니스 로직)이 저수준 모듈(구체적 구현)에 직접 의존하는 대신, 둘 다 추상화(인터페이스)에 의존하도록 설계합니다. 이를 통해 구체적 구현의 변경이 고수준 모듈에 영향을 주지 않게 되어 시스템의 유연성과 테스트 용이성이 향상됩니다.