4. Programming/4.1 JAVA
30 - 클래스 형변환
이도저도 아닌 사람
2016. 6. 27. 17:00
부모타입으로 자식 객체를 참조하게 되면, 부모가 가지고 있는 메소드만 사용할 수 있음. 자식객체가 갖고 있는 메소드를 사용하고 싶다면 형변환을 해야 함
public class Car{ public void run(){
System.out.println("달리는 중");
}
}
car 클래스를 상속받는 Bus 클래스
public class Bus extends Car{
public void hooter(){
System.out.println("빵빵");
}
}
부모 타입으로 자식 객체를 참조할 수 있음
- 부모타입으로 자식 객체를 참조하게 되면, 부모가 가지고 있는 메소드만 사용할 수 있음
public class BusExam{
public static void main(String args[]){
Car car = new Bus();
car.run();
car.hooter(); // 오류 발생
}
}
car.hooter(); 를 사용하기 위해서는 Bus 타입의 참조변수로 참조해야 함
public class BusExam{
public static void main(String args[]){
Car car = new Bus();
car.run();
Bus bus = (Bus)car;
car.hooter();
}
}
상속 관계에 있을때 객체끼리도 형변환이 가능
부모 타입으로 자식객체를 참조할 때 묵시적으로 형변환이 일어남
부모타입의 객체를 자식 타입으로 참조할 때 명시적으로 형변한을 해줘야 함
참고 : tryhelloworld.co.kr