abstract class (추상) ↔ concrete class (추상 아닌것)
public abstract class A {
//추상 클래스
public abstract void a ();
//추상 메서드
//메서드에 {}가 있으면 속이 비어있어도 어찌됐든 구현부가 생기는 것이기 때문에
//추상메서드는 {}없이 바로 세미콜론을 쓴다.
}
추상 메서드 : 메서드를 선언만 하고 내용은 입력하지 않는 것.
이러한 추상 메서드를 가진 클래스을 추상 클래스라고 한다. 추상클래스는 상속을 위해 만든다. (상속이 되어 자식클래스가 구현을 해주지 않으면 아무의미가 없다.)
구현하려는 여러 클래스에서 공통적으로 구현해야 할 속성이(그러나 각자 다른 값을 가질 때)있을 때 사용하는 것이 좋다.
추상 클래스를 상속 받는 하위 클래스는 추상 메서드를 실행할 의무가 있다.
추상 클래스를 상속 받는 하위 클래스의 선택지