문제
클래스 설계원칙에 대한 바른 설명은?
① 단일 책임원칙 : 하나의 클래스만 변경 가능 해야한다. ② 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다. ③ 리스코프 교체의 원칙 : 여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다. ④ 의존관계 역전의 원칙 : 클라이언트는 자신이 사용하는 메소드와 의존관계를 갖지 않도록 해야 한다.
정답
2번
해설
정답: 2. 개방-폐쇄 원칙(OCP)은 확장에 열려 있고 변경에 닫혀 있어야 한다는 원칙으로 올바른 설명이다.
오답 풀이
- 1번: 단일 책임 원칙은 클래스가 하나의 책임만 가져야 한다는 의미로, 설명이 부정확하다.
- 2번: 개방-폐쇄 원칙의 정의로 정답이다.
- 3번: 리스코프 치환 원칙은 하위 타입이 상위 타입을 대체할 수 있어야 한다는 의미로 설명이 틀렸다.
- 4번: 의존관계 역전 원칙(인터페이스 의존)에 대한 설명이 부정확하다.
보충 개념 SOLID: SRP, OCP, LSP, ISP, DIP. OCP는 추상화와 다형성으로 확장성을 확보한다.