Listov Substitution Priciple : 리스코프 치환 원칙
=> 추상객체로 사용되는 부분에 구상객체가 들어가도 문제 없어야함
=> 서브 타입은 언제나 자신의 기반 타입으로 교체할 수 있어야 한다.
=> 하위 분류는 상위 분류의 한 종류이다.
=> 구현 분류는 인터페이스 할 수 있어야 한다.
Interface Segregation Principle : 인터페이스 분리 원칙
=> 클라이언트는 자신이 사용하지 않는 메소드에 의존 관계를 맺으면 안 된다.
=> SRP와 같은 문제에대한 다른 해결책으로 보통 SRP를 적용하는 것이 더 좋은 해결책이다.
=> 인터페이스 분리 법칙
Dependency Inversion Priciple : 의존 역전 원칙
=> 고차원 모듈은 저차원 모듈에 의존하면 안 된다. 이 두 모듈 모두 다른 추상화된 것에 의존해야 한다. 추상화된 것은 구체적인 것에 의존하면 안 된다. 구체적인 것이 추상화된 것에 의존해야한다. 자주 변경되는 구체클래스에 의존하지 마라.