실체가 없는, 구현이 안 된 속성
상속 관계에서 하위 클래스가 추상 메서드를 재정의(overriding)하면 객체를 생성할 수 있다.
추상 클래스는 상속 관계가 필수적이다.
추상 클래스로부터 상속 관계에 있는 하위 클래스는 반드시 @Override 어노테이션을 이용해서 추상 메서드를 재정의해야 한다.
상속 관계에서 반드시 재정의하고 싶은 메서드를 상위 클래스에서 상속하고 싶을 때
상위 클래스의 메서드를 하위 클래스에 강제로 재정의하게 하기 위해서
객체지향의 다형성을 구현
비슷한 클래스형이 여러개 있을 때, 공통적인 속성과 메서드는 하나의 상위 클래스에 선언(일반화)하고, 상위 클래스로부터 상속받아 하위 클래스를 정의하는 것이 올바르다.
상위 클래스를 사용해 여러 하위 클래스를 한번에 제어하기 쉬워진다.