JAVA

super 코드 정리

연93 2022. 9. 14. 12:14
package sec04.exam02_super;
// 부모 
public class Airplane {
	public void land() {
		System.out.println("착륙합니다.");
	}
	
	public void fly() {
		System.out.println("일반비행합니다");
	}
	
	public void takeOff() {
		System.out.println("이륙합니다");
	}
}

자식

package sec04.exam02_super;

public class SupersonicAirplane extends Airplane {
	public static final int NOMAL = 1; // 상수선언
	public static final int SUPERSONIC = 2; // 상수선언
	
	
	public int flyMode = NOMAL;
	
	@Override
	public void fly() {
		if(flyMode == SUPERSONIC) {
			System.out.println("초음속비행합니다.");
		}else {
			super.fly();
			}
		}
	}

실행

package sec04.exam02_super;

public class SupersonicAirplaneExample {

	public static void main(String[] args) {
		SupersonicAirplane sa = new SupersonicAirplane();
		sa.takeOff();
		sa.fly();
		sa.flyMode = SupersonicAirplane.SUPERSONIC;
		sa.fly();
		sa.flyMode = SupersonicAirplane.NOMAL;
		sa.fly();
		sa.land();

	}

}

이륙합니다
일반비행합니다
초음속비행합니다.
일반비행합니다
착륙합니다.