ISP : Interface Segregation Principle 인터페이스도 작게 쪼개자 객체는 자신이 사용하는 기능(메서드)에만 의존해야 한다는 원칙에 따라 분리하는 것과 마찬가지로, 인터페이스는 그 인터페이스를 사용하는 클라이언트(객체)를 기준으로 분리해야 한다. 클래스(인터페이스)가 가진 책임의 크기를 줄일 수 있고, 관심사의 분리를 해낼 수 있으며 확장성을 가져갈 수 있기 때문에 필요하다 A 인터페이스를 상속하는 B와 C 클래스가 있다. B는 A의 모든 메서드를 사용하기 때문에 상속에 문제가 없지만, C의 경우 A의 모든 메서드를 사용할 필요가 없을 때, C는 사용하지도 않는 메서드와 의존성을 맺는 것이다. 이러한 경우, ISP를 위반하면서, A의 a-1 메서드(C가 사용하지 않는 메서드)에 ..