Java
[Java] Upcasting (업캐스팅)
bornsoon
2024. 10. 31. 17:57
상속 관계에 있는 부모와 자식 클래스 간에는 서로 간의 형변환이 가능하다.
업캐스팅은 자식 클래스가 부모 클래스로 형변환하는 것을 말한다.
이 때, 자식 클래스는 부모 클래스에 있는 멤버에만 접근이 가능하다. (업캐스팅 멤버 제한)
또한 명시적 캐스팅(Explicit Casting)이 아닌 묵시적 캐스팅(Implicit Casting)이 가능하다.
(반대로 다운캐스팅은 명시적 캐스팅을 해줘야하고 보통 업캐스팅한 자식 클래스를 복구할 때 쓰인다.)
예) List의 메소드만 쓰고 싶을 경우
List<Integer> array_List = new ArrayList<>();
※ 업캐스팅을 해둬 자식 클래스에서 오버라이딩 된 메서드는 자식 클래스의 메서드로 실행된다.
공통적으로 할 수 있는 부분을 묶어서 관리할 때 쓰인다.
상속 관계에서 상속 받은 서브 클래스가 몇 개이든 하나의 인스턴스로 묶어서 관리 할 수 있다.
728x90