추상 매소드를 가지면 추상 클래스이다.
- 추상 클래스는 객체를 생성할 수 없다.
- 추상 메소드의 구조적인 특징
• abstract 키워드를 추가
• 하나 이상의 추상 메소드가 존재
• 추상 메소드 외에 구현된 일반 메소드나 변수도 존재
• 구현 내용은 존재하지 않음
• 서브 클래스를 만들어 추상 메소드를 오버라이딩 후 사용
• private 접근 한정자 사용불가
추상 클래스 예제
public abstract class AbstractBike {
private int id;
private String brand;
public AbstractBike(int i, String b){
id = i;
brand = b;
}
public abstract void print(); // 추상 매소드
public String getBrand() { return brand; }
public int getId() { return id; }
}
public class RoadBike extends AbstractBike { - public RoadBike(int i, String b) {
super(i, b);
// TODO Auto-generated constructor stub
}
@Override
public void print() {
System.out.println("아이디 : " + this.getId());
System.out.println("브랜드 : " + this.getBrand());
} - public static void main(String[] args) {
// TODO Auto-generated method stub
RoadBike bike = new RoadBike(100, "대륙의 자건거");
bike.print();
}
}