# 클린 코더스 강의 14.3. ISP(Interface Segregation Principle)

클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다

![](https://2030515275-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoGscDSh7xEBr_oIADD%2F-LpLpxLXE1mRoWPK5gPS%2F-LpLqAOv3XsBs81BQYNa%2Fimage.png?alt=media\&token=a17bb05d-401a-472a-9d56-14301cf366d7)

Switch 는 Light 에 대한 의존성을 갖고 있다.&#x20;

Switch 는 Light 뿐만 아니라 Fan, Motor 등도 Turn On 할 수 있다.<br>

### Light 의존성 제거

![](https://2030515275-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoGscDSh7xEBr_oIADD%2F-LpLpxLXE1mRoWPK5gPS%2F-LpLr7tQBa1NwPYFpRyu%2Fimage.png?alt=media\&token=34f185c4-170b-4ea2-ae8f-dd21f9b158f9)

DIP 원칙에 따라 Switch 는 이제 Light 에 대한 의존성을 갖지 않는다.&#x20;

Switchable 의 이름은 Switch(Client) 에 이름을 따라야 한다.

## 나의 생각

ISP 는 상당히 구체적인 Case 를 설명하기 때문에 이해하기 쉽다. \
주의할 점은 사용하는 Naming 을 정할 때 사용하는 Client 에 이름을 따라야 한다.
