추상 클래스(abstract) -> 추상 클래스는 클래스의 구체적인 내용을 작성하지 않고 '공통적인 특징'을 추상적으로 선언합니다. 반환 값도 없으며, 메소드 명만 선언합니다. 메인 클래스에 추상 클래스의 객체를 바로 생성할 수 없습니다. 그렇다면 추상 클래스는 어떻게 사용해야 할까요? 추상 클래스는 자식 클래스에게 상속을 해줌으로써 사용 가능합니다. 즉, 추상 클래스는 부모 클래스의 역할을 하며 자식 클래스는 추상 메소드를 재정의하여 사용합니다. 이러한 추상 클래스의 특징 때문에 추상 클래스는 상속의 '강제성'을 가집니다. (추상 클래스에도 일반 메소드를 포함할 수 있음) abstract class Animal { abstract void cry(); //추상클래스 void eat() {System.o..