← 회차 전체 문제편집복원내용 검수 완료2023년 정보처리기사 2회 필기 · 소프트웨어 설계 · 8번
복합기 API 하나에 인쇄, 스캔, 팩스, 제본 메서드가 모두 선언되어 있어 단순 인쇄 앱도 나머지 메서드를 빈 구현으로 작성한다. SOLID 원칙에 맞는 개선은?
- 1
기능별로 작은 인터페이스를 나누어 클라이언트가 필요한 계약만 의존하게 한다.
정답 근거작은 역할별 인터페이스는 클라이언트가 실제 필요한 기능에만 의존하도록 만든다. - 2
모든 기능의 구현을 하나의 거대한 클래스에 합친다.
오답 이유거대한 클래스는 서로 다른 변경 이유를 한 곳에 모아 책임과 의존을 더 키운다. - 3
기존 인터페이스의 모든 메서드를 정적 메서드로 바꾼다.
오답 이유정적 메서드로 바꾸어도 불필요한 메서드가 포함된 큰 계약은 그대로 남는다. - 4
지원하지 않는 메서드는 실행 시 예외를 던지도록 그대로 둔다.
오답 이유예외를 던지는 빈 기능은 인터페이스가 클라이언트에 과도한 계약을 강제한다는 문제를 해결하지 못한다.
정답·상세해설정답 1번
클라이언트가 사용하지 않는 메서드에 의존하지 않도록 계약을 기능별로 분리하는 것은 인터페이스 분리 원칙이다. 인쇄 앱이 인쇄 계약만 구현하게 하면 빈 구현과 불필요한 변경 파급을 없앨 수 있어 ①이 맞다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 편집복원
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-21