로딩
요청 처리 중입니다...

[C++] 업캐스팅, 다운캐스팅, 객체 포인터

 [C++] 업캐스팅, 다운캐스팅, 객체 포인터

애써 배운걸 까먹을까봐 그러기 전에 미리 정리해놓은 C++ 노트입니다. 이번 노트에서는 진짜 간단하게 (특히 C++에서) 업캐스팅(upcasting)과 다운캐스팅(downcasting)이 무엇이고 어떻게 사용되는지에 대해 정리합니다.

그 과정에서, 객체 포인터를 또 한번 더 다뤄보게 됩니다. 업캐스팅(upcasting)과 다운캐스팅(downcasting)은 모두 C++에서 코드의 다형성(polymorphism), 즉 한 가지의 객체를 상황에 따라 여러 방법으로 사용할 수 있게끔 (일종의 재활용) 해 주는 기능의 일부입니다.

개인적으로 보기에 그냥 간단한 예제로 코드를 바로 살펴보는게 나을 것 같네요. 우선 업캐스팅(upcasting)은 파생 클래스(derived class)의 객체를 기본 클래스(base class)의 포인터로 가리키는 것을 말합니다.

다시 말해, 상속 관계로 맺어진 하위 클래스가 상위 클래스로 형변환(type conversion)을 하는 것을 말합니다. 예를 들어 ...

# CPP # 함수 # 클래스 # 오버라이딩 # 업캐스팅 # 상속 # 멤버 # 다형성 # 다운캐스팅 # 객체상속 # inheritance # 객체 # upcasting # polymorphism # downcasting # member # overriding # OOP # 포인터 # 프로그래밍 # 객체포인터 # 전공노트 # 예제 # 문법 # 묵시적형변환 # 형변환