프로그래밍/Java 정리

Java 9일차 -Up casting, Down casting

윤도ri 2021. 11. 26. 22:17

>업 캐스팅(Up Casting)

-자식 타입의 객체를 부모 타입의 객체로 변환 
: 부모 타입의 객체에 자식 클래스의 필드를 담아주는 것

ex) SuperCar supercar = new SuperCar();
     Car car = supercar;

- 부모 타입의 객체에 자식 생성자를 호출
     ex) Car car = new SuperCar();

-부모 타입의 매개변수에 자식 객체를 넘기는 것
ex)
      void f( Car car ){

                       }
      f( new SuperCar( ) );

 

--->업 캐스팅 된 객체는 자식 클래스에서 추가한 내용을 사용할 수 없다. 단, 오버라이딩 된 메소드는 사용 가능하다.

 

업캐스팅, 다운캐스팅 예제

>다운 캐스팅(Down casting)
-업 캐스팅된 객체를 다시 자식타입으로 바꾸는 것
-업 캐스팅 시 잘려나갔던 자식클래스의 추가된 내용을 다시 달아주는 것
     (자식클래스) 업 캐스팅된 객체