728x90
반응형
package chap7;
/*
* 다형성 예제
* 1. 참조변수의 형변환.
* 2. 자손타입의 객체는 부모타입의 참조변수로 참조가 가능하다.
* => 부모타입의 참조변수로 자손타입의 객체 참조시 부모타입의 멤버들만 호출가능
* 3. 모든 클래스는 Object클래스를 상속받는다.
* => 모든 클래스의 객체는 Object 타입의 참조변수로 참조가 가능하다.
* 단, Object클래스의 멤버만 호출이 가능하다.
*/
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 BikeEx2 {
public static void main(String[] args) {
AutoBike2 ab = new AutoBike2(2);
Bike2 b;
ab.power();
ab.drive();
ab.stop();
b = ab; //AutoBike2 클래스형이 Bike2 클래스 형으로 형변환됨
// b.power(); //power() 메서드는 Bike2타입의 멤버가 아님
b.drive();
b.stop();
}
}
728x90
반응형
'study > Java' 카테고리의 다른 글
[Java] 22. Test2 ( 사과, 복숭아는 가격과 당도를 입력하여 객체를 생성하고, 콜라, 사이다는 가격, 용량을 비스킷, 쿠키는 가격,무게를 입력하여 객체를 생성하기) (0) | 2022.03.21 |
---|---|
[Java] 22. Test1 (모든 클래스에 getPay() 메서드를 구현하기 (0) | 2022.03.21 |
[Java] 22. 상속 Exam1 (SutdaCard 20장으로 이루어진 SutdaDeck 클래스 구현하기) (0) | 2022.03.21 |
[Java] 22. super 생성자 (0) | 2022.03.21 |
[Java] 22. super 예약어 (0) | 2022.03.21 |