인터페이스 분리 원칙(ISP)

클래스가 해야 하는 역할이나 기능(행위)를 인터페이스로 분리하는 원칙입니다.

클래스를 설계하고 구현하다 보면 책임은 하나지만 행위가 많아지게 됩니다.

그래서 그 행위들을 분류하고(interface로 나누고) 클래스를 사용하는(의존하는) 쪽에서 인터페이스를 통해 꼭 필요한 행위만 접근 할 수 있게 하고 이로 인해 확장성이 좋아지는 효과가 생긴다.

참고

Interface segregation principle