단일 책임의 원칙 1 클래스, 1 책임
개방 폐쇄의 원칙 확장은 개방, 변경 폐쇄
리스코프 치환의 원칙 항상 하위 클래스는 상위 클래스와 대체 가능해야 한다
인터페이스 분리 원칙 사용하지 않는 메소드는 사용하면 안된다(=분리해야한다)
의존성 역전 원칙 추상화를 사용해라