객체지향 설계 원칙에 대한 설명으로 옳지 않은 것은? | [7급 국가직 소프트웨어공학] 23년 1회차 기출문제 상세 페이지
1[7급 국가직 소프트웨어공학] 23년 1회차
객체지향 설계 원칙에 대한 설명으로 옳지 않은 것은?
1
확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다.
2
상위 클래스의 객체는 하위 클래스의 객체로 교체될 수 있어야 한다.
3
클라이언트는 추상 클래스나 인터페이스가 아닌 구체(concrete) 클래스에 의존해야 한다.
4
하나의 범용 인터페이스보다는 여러 개의 특화된 인터페이스로 나누어야 한다.
해설
클라이언트가 구체 클래스에 의존해야 한다는 설명이 옳지 않다. 의존 역전 원칙(DIP)은 추상 클래스나 인터페이스에 의존하라고 요구한다.
구체 클래스에 직접 의존하면 구현이 바뀔 때마다 클라이언트도 수정해야 하므로, 추상화에 의존해 결합을 느슨하게 만든다.
- 확장에는 열리고 변경에는 닫혀야 한다는 것은 개방-폐쇄 원칙(OCP)이다.
- 상위 타입 객체를 하위 타입 객체로 교체해도 동작해야 한다는 것은 리스코프 치환 원칙(LSP)이다.
- 범용 인터페이스 하나보다 특화된 여러 인터페이스로 나누라는 것은 인터페이스 분리 원칙(ISP)이다.
오류나 개정된 내용이 보이면 알려주세요