작성
·
17
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. soojinkimss님.
DIP(Dependency Inversion Principle, 의존성 역전 원칙)와 OCP(Open/Closed Principle, 개방-폐쇄 원칙)는 상호 연관되어 있지만 서로 다른 개념입니다. DIP는 구체적인 구현보다는 인터페이스에 의존하도록 설계하는 것이고, OCP는 기존 코드를 변경하지 않고 기능을 확장할 수 있도록 설계하는 것입니다.
강사님께서 DIP를 강조하신 이유는 주어진 맥락에서 DIP가 중요하게 다뤄져서일 수 있습니다. 보통 DIP를 지키면 OCP를 지킬 수 있는 기반이 마련되기도 합니다. 하지만 둘은 여전히 별개의 원칙이기 때문에, 어떤 경우에는 둘 중 하나만 강조할 필요가 있다고 판단되었을 수도 있습니다.
기존 강의에서 SOLID 원칙들이 어떻게 서로 연관되면서도 별개로 강조되는지를 설명하는 관련 논의가 있었던 링크를 참고해 보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.