[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 #포인터 #프로그래밍 #객체포인터 #전공노트 #예제 #문법 #묵시적형변환 #형변환

원문링크 : [C++] 업캐스팅, 다운캐스팅, 객체 포인터