다형성 클래스 자동타입 변환

stan·2023년 5월 26일
0

Java 개념

목록 보기
31/33

다형성을 구현하는 데 3가지 특징

상속 + 메서드 오버라이딩 + 클래스 타입 변환

자식타입 클래스 ==>> 부모타입 클래스 (자동타입변환)
자식타입 클래스 <<== 부모타입 클래스 (강제타입변환)


class Car{}
class Bus extends Car {}
class SchoolBus extends Bus {}

class OpenCar extends Car {}
class SportsCar extends OpenCar {}

main () {
	Car c1 = new SchoolBus(); //
    
    Bus b1 =new Bus();//자동타입변환
    Bus b2 = new SchoolBus();//자동타입변환
    
    Car c2 = new OpenCar();//자동타입변환
    OpenCar oc = new SportsCar();//자동타입변환

}


강제 형 변환

Bike {
void info(){}
void ride(){}

}

FourWheelBike extends Bike {
@Override
void info(){
	super.info();
}
void addWheel(){}
}



main() {
	Bike b = new FourWheelBike("윤기");
    b.info();
    b.ride();
    //b.addWheel(); <- 부모타입으로는 호출 불가 
    
    FourWheelBike fwb = (FourWheelBike) b; //강제타입변환
    
    fwb.addwheel(); //자식메서드 사용 가능
    

}
profile
이진 입니다

0개의 댓글

관련 채용 정보