에듀윌
·
ISP · 인터페이스 분리
I 원칙
SOLID · 네 번째 원칙
안 쓰는 버튼은
없애라
ISP
Interface Segregation
정의
클라이언트는
자신이 사용하지 않는 메서드에 의존
하면 안 된다. = 큰 인터페이스 하나보다
작게 쪼갠 여러 개
가 낫다.
🎛
만능 리모컨
은 버튼 100개인데 쓰는 건 음량·채널·전원뿐. 나머지 90개가 무게만 늘려요.
IWorker
에
work·eat·sleep
이 다 있으면
로봇
도
eat()
를 강제 구현 →
IWorkable
로 쪼개면 끝.
💡 합격 공식 · 쪼개기
ISP = 인터페이스를 클라이언트별로 잘게 분리.
ISP는
SRP의 인터페이스 버전
— SRP가 '한 클래스=한 책임'이면, ISP는 '한 인터페이스=한 용도'.