ISP(Interface Segregation Principle) 인터페이스 분리 원칙이란 클라이언트가 자신이 사용하지 않는 메서드에 의존하지 않아야 한다는 것을 말한다. 인터페이스 분리 원칙은 큰 덩어리의 인터페이스들을 구체적이고 작은 단위들로 분리시킴으로써 클라이언트들이 꼭 필요한 메서드들만 사용할 수 있게 한다. 이와 같은 작은 단위들을 역할 인터페이스라고 부른다. 인터페이스 분리 원칙을 통해 시스템의 내부 의존성을 약화시켜 리팩토링, 수정, 재배포를 쉽게 할 수 있다. ISP의 예시를 살펴보자. public interface Phone { void call(); void camera(); void sms(); } public class BasicPhone implements Phone { @Ove..