본문 바로가기
수업(국비지원)/Java

[Java] chap7 : 클래스의 관계 - 다형성(polymorphism)예제

by byeolsub 2023. 4. 15.
  • 다형성 예제
 다형성 예제
  1. 참조 변수의 형변환
  2. 자손 타입의 객체는 부모타입의 참조변수로 참조가 가능하다
     => 부모타입의 참조변수로 자손타입의 객체 참조시 부모타입의 멤버들만 호출 가능
  3. 모든 클래스는 Object클래스를 상속 받는다.
     => 모든 클래스의 객체는 Object 타입의 참조변수로 참조가 가능하다.
        단, Object클래스의 멤버만 호출 가능하다

 

📌

package chap7;

class Bike2{
	int wheel;
	Bike2(int wheel){
		this.wheel = wheel;
	}
	void drive() {
		System.out.println("페달을 밟는다");
	}
	void stop() {
		System.out.println("브레이크를 잡는다");
	}
}
class AutoBike2 extends Bike2{
	boolean power;
	AutoBike2(int wheel){
		super(wheel);
	}
	void power() {
		power = !power;
		if(power)
			System.out.println("전원이 켜졌습니다.");
		else 
			System.out.println("전원이 꺼졌습니다.");
	}
}
public class AutoBikeEx2 {

	public static void main(String[] args) {
	AutoBike2 ab = new AutoBike2(2);
	Bike2 b;
	ab.power();
	ab.drive();
	ab.stop();
	b=ab; //형변환. AutoBikeEx2클래스형이 Bike2 클래스형으로 형변환 됨.
	System.out.println(ab.power);
//b.power(); //자손클래스의 멤버이기때문에 접근 불가. <- 그래서 사용 할 수 없음
	b.drive();
	b.stop();
	}
}