추상 클래스 구현 강제 구조
추상 클래스는 공통 구현과 미완성 계약을 함께 제공하고, 서로 다른 자식 클래스가 같은 슬롯을 각 방식으로 채웁니다.
Circle
radius를 보관하고 area()를 원의 넓이 공식으로 구현합니다.
Rectangle
width와 height를 보관하고 area()를 사각형 공식으로 구현합니다.
핵심new Shape()은 금지되지만 Shape 타입으로 두 자식을 묶으면 같은 호출부에서 다형적으로 사용할 수 있습니다.