의존성 주입(DI)이란? (OCP와 DIP를 지키기 위한 방법)
SOLID 원칙 중에서 OCP와 DIP에 대해 많이 들어봤을 것이다.OCP와 DIP를 모르는 사람을 위해 간단히 설명해보자면 OCP (Open Closed Principle) - 개방 폐쇠 원칙변경에는 닫혀 있고, 확장에는 열려 있어야 한다.즉, 확장은 가능하지만 이 확장으로 변경사항이 생겨선 안된다는 말이다.(이 내용에 대해 헷갈릴 수 있다. 아래에서 자세히 설명한다.) DIP (Dependency Inversion Principle) - 의존 역전 원칙추상화에 의존하되, 구체화에 의존해선 안된다.즉, 구현 클래스를 의존하지 말고, 추상체 (인터페이스, 추상 클래스)를 의존하라는 뜻이다. DI를 설명하기 전에 OCP와 DIP를 위반하는 상황이 뭘까?OCP와 DIP를 위반하는 경..