
잘된 예

잘못된 예

정사각형 클래스를 상속받아 사각형클래스를 정의할 때에는 리스코프 치환 원칙에따라
Rectangle이 자식클래스인 Option A가 적절하다.
Square의 모든 행위를 대체할 수 있고 자신에게 필요한 함수를 추가하는 형태이기 때문이다.
Square가 자식클래스인 Option B는 상속의 의미가 없다고 느껴진다.
가이드라인
1. 상속은 데이터가 아닌 동작에 관련해서 이루어져야 한다.
2. 베이스타입의 규약을 준수해야 한다.
3. 해당 타입의 컨셉에 벗어나지 말아야 한다.
내 생각
자식클래스가 부모클래스의 개념에서 확장된 것은 리스코프 치환원칙 뿐만이 아닌
코드리딩시에도 개발 의도파악에 용이하고 의미적으로도 그게 당연하지않나 하는 생각...?