인터페이스 분리 원칙은 클라이언트가 사용하지 않는 메서드에 의존하지 않도록 역할별 인터페이스를 작게 나눈다.
정답 근거클라이언트별로 필요한 최소 계약만 제공하므로 인터페이스 분리 원칙을 정확히 설명한다.
2
개방-폐쇄 원칙은 새 기능을 추가할 때 기존 모듈의 소스를 직접 수정하도록 요구한다.
오답 이유개방-폐쇄 원칙은 확장에는 열려 있고 기존 코드 수정에는 닫혀 있어야 하므로 설명이 반대다.
3
리스코프 치환 원칙은 하위 타입이 상위 타입의 계약을 약화해도 된다는 원칙이다.
오답 이유리스코프 치환 원칙은 하위 타입이 상위 타입의 행위 계약을 깨지 않고 대체될 수 있어야 한다.
4
의존 역전 원칙은 고수준 모듈이 저수준의 구체 클래스를 직접 생성해야 한다는 원칙이다.
오답 이유의존 역전 원칙은 구체 구현을 직접 의존하라는 뜻이 아니라 양쪽 모두 추상화에 의존하라는 원칙이다.
정답·상세해설
정답 1번
인터페이스 분리 원칙(ISP)은 큰 범용 인터페이스 하나를 강요하지 않고 클라이언트가 실제 사용하는 계약만 의존하게 한다. ②는 개방-폐쇄 원칙의 의미를 반대로 서술했고, ③은 상위 타입의 계약을 보존해야 하는 리스코프 치환 원칙에 어긋나며, ④는 고수준·저수준 모듈이 모두 추상화에 의존해야 한다는 의존 역전 원칙과 반대다.