<aside> 💡 abstract
</aside>
추상클래스
추상 클래스는 기존 클래스와 완전히 같다.
다만 new AbstractAnimal() 와 같이 직접 인스턴스를 생성하지 못하는 제약이 추가된 것이다.
abstract class AbstractAnimal {...}
추상메서드
추상 메서드는 이름 그대로 추상적인 개념을 제공하는 메서드이다.
따라서 실체가 존재하지 않고,메서드 바디가 없다
public abstract void sound();
추상 메서드가 하나라도 있는 클래스는 추상 클래스로 선언해야 한다.

추상 메서드는 상속 받는 자식 클래스가 반드시 오버라이딩 해서 사용해야 한다

순수 추상 클래스: 모든 메서드가 추상 메서드인 추상 클래스


이런 순수 추상 클래스의 개념은 프로그래밍에서 매우 자주 사용된다.
자바는 순수 추상 클래스를 더 편리하게 사용할수 있도록 인터페이스라는 개념을 제공한다