본문 바로가기
Back-End/Java

[java] 업캐스팅(UpCasting)과 다운캐스팅(DownCasting)

by LeeGangEun 2022. 2. 15.

캐스팅(Casting)이란?

캐스팅이란 타입을 변환하는 것을 말하며 형변환 이라고도 한다.

자바의 상속 관계에 있는 부모와 자식 클래스 간에는 서로 간의 형변환이 가능하다.

업캐스팅(UpCasting)이란?

업캐스팅이란 자식 클래스(Sub Class)의 객체모 클래스(Super Class) 타입으로 형변환 되는 것을 말한다.

다운캐스팅(Downcasting)이란?

업캐스팅과 반대로 캐스팅 하는 것을 다운캐스팅이라고 한다. 업캐스팅된 것을 다시 원상태로 돌리는 것을 의미하며,

하위 클래스로 다운캐스팅 할때는 타입을 명시적으로 지정해줘야한다.

부모 클래스(Super Class) 객체서브 클래스(Sub Class) 타입으로 변환하는것을 의미한다.

업캐스팅이 필요한 이유?

다형성과 코드 재사용성을 높이기 위해 사용한다.

업캐스팅을 하게 되면 재사용을 해야하는 반복된 메서드를 가져와서 서브클래스를 호출할때 사용할 수 있기 때문이다.