인터페이스 분리의 원칙

From IT Wiki
Interface Segregation Principle; ISP
  • 자신이 사용하지 않는 메서드와 의존관계를 맺으면 안 된다.
    • 사용하지 않는 인터페이스 때문에 영향을 받아서는 안 된다.
  • 자신이 사용하지 않는 메서드는 구현하지 않도록 해야 한다.
    • 이런 경우 인터페이스는 쪼개져야 한다.
  • 하나의 일반적인 인터페이스 보단 여러 개의 구체적인 인터페이스가 낫다.

예시[edit | edit source]

AS-IS
Interface 이동체 {
  drive();
  fly();
  sail();
  stop();
}
TO-BE
Interface 자동차 {
  drive(); 
  stop(); 
}
Interface 비행기 { 
  fly();
  stop(); 
}
Interface 배 {
  sail();
  stop(); 
}

같이 보기[edit | edit source]