문제
객체지향 설계 원칙에 대한 설명으로 옳지 않은 것은?
① 하나의 클래스는 제공하는 모든 기능이 하나의 목적만 해결하도록 설계해야 한다. ② 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다. ③ 하위 클래스는 상위 클래스의 기능을 호환할 수 있어야 한다. ④ 하나의 포괄적인 인터페이스보다 다수의 구체적인 인터페이스를 구성해야 한다.
정답
1번
해설
정답: 1. 보기 ①은 단일 책임 원칙을 부정확하게 표현한 것으로, ‘제공하는 모든 기능’이라는 표현이 과도하여 객체지향 설계 원칙 설명으로 가장 부적절하다.
오답 풀이
- 1번: 단일 책임 원칙을 부정확하게 표현한 설명이다.
- 2번: 개방-폐쇄 원칙(OCP)에 해당한다.
- 3번: 리스코프 치환 원칙(LSP)에 해당한다.
- 4번: 인터페이스 분리 원칙(ISP)에 해당한다.
보충 개념 SOLID 원칙은 객체지향 설계에서 변경에 강한 구조를 만들기 위한 대표적인 원칙들이다.