상속 관계에서 타입 변환의 이유와 사용 목적
·
Backend/JAVA
📘 상속 관계에서 타입 변환이 중요한 이유 (업캐스팅과 다운캐스팅)객체지향 프로그래밍(OOP)을 공부하다 보면, "왜 굳이 자식 객체를 부모 타입으로 참조하지?"라는 질문이 들 수 있다.이번 글에서는 상속 관계에서 자주 사용되는 업캐스팅(upcasting) 과 다운캐스팅(downcasting) 의 개념과 실제 사용 사례를 정리한다.1. 업캐스팅이란?업캐스팅은 자식 클래스의 객체를 부모 클래스 타입으로 참조하는 것을 의미합니다.Animal a = new Dog(); // 업캐스팅이렇게 하면 부모 클래스에 정의된 멤버만 접근할 수 있지만, 실제 객체는 자식 객체이기 때문에 오버라이딩된 메서드는 자식 클래스의 것이 실행됩니다.왜 업캐스팅을 쓸까?다형성(polymorphism) 구현의 핵심입니다.다양한 자식 ..