개발기초

객체 지향 설계 5원칙(SOLID) - 인터페이스 분리 원칙 ISP [핵심간단]

Veams 2023. 2. 21.

인터페이스 분리 원칙 (Interface segregation principle, ISP)

- "클라이언트는 사용하지 않는 인터페이스에 의존해서는 안 된다."

- "특정 클라이언트를 위한 인터페이스 여러 개가 인터페이스 하나보다 낫다"

 

사용자가 필요하는 기능만 제공하도록 인터페이스최대한 세부적으로, 작게 유지해야한다는 말이다.

구체적으로, 특정 클라이언트에 대해서 인터페이스를 구성할 때 한 개의 범용으로 구성하기보다, 여러 개로 구성하는 것이 나은 것이다. 

 

클라이언트가 사용하지 않는 인터페이스에 변경이 발생하더라도 영향을 받지 않도록 만들어야 한다. 만약 불필요한 인터페이스에 의존하면 예상치 못한 문제에 빠질  수 있다.

 

사용 기능에 따라 인터페이스를 분리한다면 클라이언트는 그 의존도를 낮출 수 있다. 인터페이스에 대한 변경으로 인한 영향력을 최소화할 수 있을 것이다.

 

 

여기서 인터페이스는 대표적으로 Java, C++, Typescript에서 사용하는 문법이다.

댓글