< 추상클래스 >
추상메소드를 포함하는 클래스
객체를 생성할 수 없고 자식객체를 참조는 가능하다.
< 추상메소드 >
body부분을 갖지 않는 메소드
자식클래스에서 반드시 오버라이딩해야 한다.
abstract class Shape1{//추상클래스
public abstract void draw(); //추상메소드
public void move() {
System.out.println("도형이동하기");
}
}
class Rect1 extends Shape1{
public void draw() { //자식클래스에서 추상메소드를 반드시 오버라이딩해야 한다.
System.out.println("사각형 그리기");
}
}
public class Test04_추상클래스 {
public static void main(String[] args) {
//new Shape1();
Rect1 r=new Rect1();
r.draw();
//Shape1 s=new Shape1();//에러 -> 객체 생성 못함
Shape1 s=r;//자식객체 참조는 가능
s.draw();
}
}