SRP(Single Responsibility Principle) : 단일 책임 원칙

위의 클래스 구조는 남자 클래스가 너무 많은 역할을 가지고 있다. 다음과 같이 분리할 수 있다.

OCP(Open Closed Principle) : 개방 폐쇄 법칙

마티즈 또는 쏘나타 객체에 변경사항이 있을 경우 운전자 객체에 영향을 끼칠 수 있다.

이렇게 상위 클래스 또는 인터페이스로 묶음으로써 자동차 객체들에게 변경사항이 있을 경우 운전자 객체의 영향을 최소화할 수 있다. 또한, 또 다른 종류의 자동차 객체가 추가되더라도 다른 객체에 영향 없이 추가할 수 있다.

JDBC : 개방 폐쇄 법칙의 좋은 예시

자바에서 제공하는 JDBC 에서는 Connection 방법만 수정하면 여러 DBMS 를 사용할 수 있다.

LSP(Listov Substitution Principle) : 리스코프 치환 원칙