1. SRP : 단일 책임 원칙 ( single responsibility principle )한 클래스는 하나의 책임만 가져야 한다.변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것이라 볼 수 있다.2. OCP : 개방 - 폐쇄 원칙 ( Open/closed principle ) ⭐⭐⭐⭐⭐다형성을 사용하고 클라이언트가 DIP를 지킨다.소프트웨어 요소를 새롭게 확장해도 (클라이언트 코드)사용 영역의 변경은 닫혀 있다. (닫혀있다. = 변경할 필요가 없다.)구현 객체를 변경하기 위해선 OCP 원칙을 깨야하는데, 이 부분을 DI, IOC 컨테이너가 지원한다.3. LSP : 리스코프 치원 원칙 ( Liskov substitution principle )인터페이스를 구현체가 구현하면 되는데, 규..