문제
객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?
① ISP(Interface Segregation Principle) ② DIP(Dependency Inversion Principle) ③ LSP(Liskov Substitution Principle) ④ SRP(Single Responsibility Principle)
정답
3번
해설
정답: 3. LSP(리스코프 치환 원칙)는 하위 타입이 상위 타입을 대체해도 프로그램이 올바르게 동작해야 한다는 원칙이다.
오답 풀이
- 1번: ISP는 클라이언트가 사용하지 않는 인터페이스에 의존하지 않아야 한다는 원칙이다.
- 2번: DIP는 상위 모듈이 하위 모듈이 아닌 추상에 의존해야 한다는 원칙이다.
- 3번: LSP는 서브타입이 기반타입을 대체 가능해야 한다는 원칙이다.
- 4번: SRP는 클래스가 하나의 책임만 가져야 한다는 원칙이다.
보충 개념 객체지향 SOLID 원칙: SRP, OCP, LSP, ISP, DIP.