7.1 추상클래스
[Flying 클래스]
public abstract class Flying { // 추상클래스
public int wingcnt = 2;
public boolean wheelstat = true;
abstract public void takeoff( ); // 추상메소드
abstract public void landing( ); // 추상메소드
public void output( )
{
System.out.println(wingcnt + " " + wheelstat);
}
}
[Airplane 클래스 소스]
public class Airplane extends Flying {
@Override
public void takeoff() //오버라이딩 → 이주석은 책에 써놔서 표기해 놓는다. 원래는 자동으로 표기된다.
{
// TODO Auto-generated method stub
super.output( );
System.out.println("비행기 이륙");
wheelstat = false;
}
@Override
public void landing() //오버라이딩→ 이주석은 책에 써놔서 표기해 놓는다. 원래는 자동으로 표기된다.
{
// TODO Auto-generated method stub
super.output( );
System.out.println("비행기 착륙");
wheelstat = true;
}
}
[AbstractTest 클래스 소스]
public class AbstractTest {
public static void main(String[ ] args)
{
Airplane a = new Airplane( );
a.takeoff( );
a.landing( );
Flying f;
//f = new Flying( ); 추상클래스의 인스턴스 생성 (오류)
f = (Flying) a;
f.takeoff( );
System.out.println(f.wheelstat + " " + f.wingcnt);
}
}
댓글 0