본문 바로가기

4. Programming/4.1 JAVA

30 - 클래스 형변환

부모타입으로 자식 객체를 참조하게 되면, 부모가 가지고 있는 메소드만 사용할 수 있음. 자식객체가 갖고 있는 메소드를 사용하고 싶다면 형변환을 해야 함


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

'4. Programming > 4.1 JAVA' 카테고리의 다른 글

29 - 오버라이딩(overriding)  (0) 2016.06.20
28 - Super와 부모 생성자  (0) 2016.06.19
27 - 추상 클래스  (0) 2016.06.17
26 - 접근 제한자  (0) 2016.06.16
25 - 상속  (0) 2016.06.15