//추상클래스
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;
}
}