인터페이스 분리 원칙 (Interface segregation principle, ISP)
- "클라이언트는 사용하지 않는 인터페이스에 의존해서는 안 된다."
- "특정 클라이언트를 위한 인터페이스 여러 개가 인터페이스 하나보다 낫다"
사용자가 필요하는 기능만 제공하도록 인터페이스는 최대한 세부적으로, 작게 유지해야한다는 말이다.
구체적으로, 특정 클라이언트에 대해서 인터페이스를 구성할 때 한 개의 범용으로 구성하기보다, 여러 개로 구성하는 것이 나은 것이다.
클라이언트가 사용하지 않는 인터페이스에 변경이 발생하더라도 영향을 받지 않도록 만들어야 한다. 만약 불필요한 인터페이스에 의존하면 예상치 못한 문제에 빠질 수 있다.
사용 기능에 따라 인터페이스를 분리한다면 클라이언트는 그 의존도를 낮출 수 있다. 인터페이스에 대한 변경으로 인한 영향력을 최소화할 수 있을 것이다.
여기서 인터페이스는 대표적으로 Java, C++, Typescript에서 사용하는 문법이다.
'개발기초' 카테고리의 다른 글
[자바스크립트] 비동기적 처리를 위한 '이벤트 루프'에 대해 알아보자 (1) | 2023.04.13 |
---|---|
객체 지향 설계 5원칙(SOLID) - 의존 역전 원칙 DIP [핵심간단] (0) | 2023.02.22 |
객체 지향 설계 5원칙(SOLID) - 리스코프 치환 원칙 LSP [핵심간단] (0) | 2023.02.21 |
객체 지향 설계 5원칙(SOLID) - 단일책임원칙SRP, 개방폐쇄원칙 OCP (0) | 2023.02.21 |
OOP 객체 지향 프로그래밍이란? [핵심간단정리] (0) | 2023.02.20 |
댓글