//추상클래스
abstract class Shape { 

	//어떤 도형인지 모르므로, 추상메소드로 선언
  abstract public double getArea(); 
}

추상메소드

✅  완전히 못박은 final과는 상반된 의미 → 함께 사용 x

✅ 추상메소드는 추상클래스 또는 인터페이스와 함께 사용되어야 한다.

추상 클래스

정의

✅ 객체 생성x : 구체적이지 못한, 불완전한 클래스.

사용

✅ 자식클래스가 추상 메소드를 구현하지 않으면, 자식클래스도 추상클래스여야 함.

class Circle extends Shape {

  private double radius;

  @Override // 구현
  public double getArea() {
    return Math.PI * radius * radius;
  }
}