클래스 형변환

이상해씨·2023년 5월 7일
0

JAVA

목록 보기
31/40

클래스 형변환

  • 부모 타입으로 자식객체를 참조시, 부모가 가진 메소드만 사용가능.
  • 자식 객체가 가진 메소드 및 속성 사용을 위해 형변환 사용

형변환

public class Car{
	public void run(){
    	System.out.println("부모의 클래스의 메소드 run");
    }
}

public class Taxi rxtends Car{
	public void stop(){
    	System.out.println("멈춤");
    }
}
  • 부모타입은 자식 객체의 메소드를 불러오지 못함
public class TaxiEx{
	public static void main(String args[]){
    	Car.car = new Car();
        car.run();
        car.stop();// 컴파일 오류  -> 자식객체의 메소드를 사용할 수 없어서...
    }
}
  • 자식 객체의 메소드를 참조변수로 참조
public class TaxiEx{
	public static void main(String args[]){
    	Car.car = new Car();
        car.run();
        car.stop();// 컴파일 오류  -> 자식객체의 메소드를 사용할 수 없어서...
    	
        Taxi.taxi =(Taxi)taxi; // 부모타입을 자식타입으로 형변환
        taxi.run();
        taxi.stop();
    
    }
}
  • 상속관계에 있을 경우, 객체들끼리 형변환이 가능
  • 자식타입을 부모타입으로 객체 참조 시, 묵시적으로 형변환이 일어남
  • 부모타입을 자식타입으로 참조시, 명시적 형변환.

참고

profile
공부에는 끝이 없다

0개의 댓글