2025-08-09 00:34
Tags: 소프트웨어 공학
리스코프 치환 원칙 (Liskov Substitution Principle, LSP)
- 자식 클래스(타조)를 부모 클래스(새) 대신 사용했을때 망가지면 안됨
- 새는 날수 있다 → 타조는 날수 있다? 가 되면 안됨
- 부모 클래스를 자식 클래스로 교체 했을때 오류 나지 않아야 한다
- S가 T의 하위 유형이라면, T 타입의 객체는 S 타입의 객체로 교체 가능해야 하며, 프로그램의 정확성에 영향을 주지 않아야 한다.
- 대체 가능성에 대한 규칙
- 계약에 의한 설계
- 자식의 사전 조건은 더 강해질 수 없고
- 자식의 사후 조건은 더 약해질 수 없다.
- 개방 폐쇄 원칙 관점에서 리스코프 치환 원칙이 지켜져야 확장 되어도 수정할 필요 없어짐
- 단위 테스트가 잘 작성되면 리스코프 치환 원칙 검증 하기 좋음