Java

[Java] Upcasting (업캐스팅)

bornsoon 2024. 10. 31. 17:57

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

 

업캐스팅은 자식 클래스가 부모 클래스로 형변환하는 것을 말한다.

이 때, 자식 클래스는 부모 클래스에 있는 멤버에만 접근이 가능하다. (업캐스팅 멤버 제한)

또한 명시적 캐스팅(Explicit Casting)이 아닌 묵시적 캐스팅(Implicit Casting)이 가능하다.

(반대로 다운캐스팅은 명시적 캐스팅을 해줘야하고 보통 업캐스팅한 자식 클래스를 복구할 때 쓰인다.)

 

예) List의 메소드만 쓰고 싶을 경우

List<Integer> array_List = new ArrayList<>();

 

※ 업캐스팅을 해둬 자식 클래스에서 오버라이딩 된 메서드는 자식 클래스의 메서드로 실행된다.

 

 

공통적으로 할 수 있는 부분을 묶어서 관리할 때 쓰인다.

상속 관계에서 상속 받은 서브 클래스가 몇 개이든 하나의 인스턴스로 묶어서 관리 할 수 있다.

728x90