- Interface Segregation Principle; ISP
- 자신이 사용하지 않는 메서드와 의존관계를 맺으면 안 된다.
- 사용하지 않는 인터페이스 때문에 영향을 받아서는 안 된다.
- 자신이 사용하지 않는 메서드는 구현하지 않도록 해야 한다.
- 이런 경우 인터페이스는 쪼개져야 한다.
- 하나의 일반적인 인터페이스 보단 여러 개의 구체적인 인터페이스가 낫다.
예시
- AS-IS
Interface 이동체 { drive(); fly(); sail(); stop(); }
- TO-BE
Interface 자동차 { drive(); stop(); } Interface 비행기 { fly(); stop(); } Interface 배 { sail(); stop(); }