상속의 개념을 사용하기로 했으니 이제 추상 클래스를 정의해보겠습니다. Bird 클래스에 새의 속성을 메서드로 정의해보죠.
package javaStudy;
public class Bird {
public void sing();
}
새가 뭘 할 수 있을까를 생각해봅시다. 먼저 새는 노래할 수 있겠죠? 그래서 sing이란 메서드를 떠올렸는데 막상 메서드를 구현하려 하니 이 새가 오리처럼 ‘꽥꽥’하고 우는지, 참새처럼 ‘짹짹’하고 우는지, 비둘기처럼 ‘구구’하고 우는지 모르겠습니다.
이럴 때는 이 메서드를 억지로 구현하지 않습니다. 중괄호를 열고 닫으면 ‘구현했다’라고 보기 때문에 중괄호는 생략합니다. 대신 이 메서드가 추상 클래스라는 것을 알려주는 키워드를 넣어줍니다.
package javaStudy;
public class Bird {
public abstract void sing();
}