애써 배운걸 까먹을까봐 그러기 전에 미리 정리해놓은 C++ 노트입니다. 이번 노트에서는 진짜 간단하게 (특히 C++에서) 업캐스팅(upcasting)과 다운캐스팅(downcasting)이 무엇이고 어떻게 사용되는지에 대해 정리합니다.
그 과정에서, 객체 포인터를 또 한번 더 다뤄보게 됩니다. 업캐스팅(upcasting)과 다운캐스팅(downcasting)은 모두 C++에서 코드의 다형성(polymorphism), 즉 한 가지의 객체를 상황에 따라 여러 방법으로 사용할 수 있게끔 (일종의 재활용) 해 주는 기능의 일부입니다.
개인적으로 보기에 그냥 간단한 예제로 코드를 바로 살펴보는게 나을 것 같네요. 우선 업캐스팅(upcasting)은 파생 클래스(derived class)의 객체를 기본 클래스(base class)의 포인터로 가리키는 것을 말합니다.
다시 말해, 상속 관계로 맺어진 하위 클래스가 상위 클래스로 형변환(type conversion)을 하는 것을 말합니다. 예를 들어 ...
#
CPP
#
함수
#
클래스
#
오버라이딩
#
업캐스팅
#
상속
#
멤버
#
다형성
#
다운캐스팅
#
객체상속
#
inheritance
#
객체
#
upcasting
#
polymorphism
#
downcasting
#
member
#
overriding
#
OOP
#
포인터
#
프로그래밍
#
객체포인터
#
전공노트
#
예제
#
문법
#
묵시적형변환
#
형변환
원문 링크 : [C++] 업캐스팅, 다운캐스팅, 객체 포인터