S - Single Responsibility Principal
- 단일 책임 원칙
- 하나의 클래스는 하나의 역할을 담당
O - 개방, 폐쇄 원칙
- 확장에는 열려있고 변화에는 닫혀있는 구조
- 전략 패턴
- 추상화
객체 조립기 -> 통제
L - 리스코프 치환 원칙
- 다형성, 하위 클래스, 인터페이스 등 자료형 -> 상위 클래스, 인터페이스의 자료형으로 변경 가능, 그 역의 관계도 가능!
I - 인터페이스 분리 원칙
- 설계의 도구 -> 추상 메서드
- 하나의 인터페이스에 의존을 많이 하기 보다는 역할 별로 인터페이스를 분리
D - 의존 역전 원칙
- 하위 클래스의 자료형을 직접 참조하기 보다는 상위 클래스 또는 인터페이스로 참조