시작하기무료로 시작하기

정사각형과 직사각형

리스코프 치환 원칙을 위반하는 고전적 예로 원-타원 문제, 또는 정사각형-직사각형 문제가 자주 거론됩니다.

겉보기에는 h(높이)와 w(너비) 속성을 가진 Rectangle 클래스를 정의하고, 그로부터 Square 클래스를 상속해도 될 것처럼 보입니다. 어쨌든 정사각형은 "직사각형의 한 종류"이니까요!

하지만 이런 직관은 객체 지향 설계에는 그대로 적용되지 않습니다.

이 연습은 강의의 일부입니다

Python의 객체 지향 프로그래밍

강의 보기

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define a Rectangle class
____

# Define a Square class
____
코드 편집 및 실행