JAVA

객체지향 참조변수의 형변환

연93 2022. 9. 26. 13:04

사용할 수 있는 멤버의 갯수를 조절하는것

조상 자손 관계의 참조변수는 서로 형변환 가능

class Car {
String color;
int door;

void drive() {  // 운전 하는 기능
	sysout("drive, brrrr~")
}

void stop() {   //  멈추는 기능
	sysout("stop");
    }
}

Car를 부모로하는 FireEngine

class FireEngine extends Car { // 소방차
	void water() { // 물을 뿌리는 기능
    	sysout("water");
        }
}

실행 코드

FireEngine f = new FireEngine();

Car c = (Car)f;                // ok 조상인 Car타입으로 형변환 (생략가능)
FireEngine f2 = (FireEngine)c; // ok 자손인 FireEngin타입으로 형변환 (생략불가)
Ambulance a = (Ambulance)f;    // 에러 상속관계가 아닌 클래스 간의 형변환 불가

형변환시 가장 중요한건 실제 객체가 중요

실제 객체의 갯수를 늘렸다 줄열따 하는것 더 많이 넘는건 불가능 4 ->5 , 5->4, 5->6(x)