< 업 캐스팅 (Up Casting) >
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <iostream> using namespace std; class 부모 { public: void test() { cout << "부모" << endl; } }; class 자식 : public 부모 { public: void test() { // 오버라이딩 cout << "자식" << endl; } }; int main() { 부모 p; 자식 c; 부모 *up = &c; // 업캐스팅 up->test(); // 부모 출력 } | cs |
부모 클래스를 상속 받은 자식 클래스는 다형성(Polymorphism)을 가집니다.
부모 클래스의 모든 멤버를 상속 받은 자식 객체는 부모 클래스로도 사용될 수 있습니다.
이것을 "업캐스팅"이라 부릅니다.
업캐스팅을 하면 자식 객체는 부모로 사용되므로 오버라이딩되었던 멤버들 또한 무시되고 부모 클래스의 멤버에 접근합니다.
'프로그래밍 > C++' 카테고리의 다른 글
C++ 문법 - 가상함수 (0) | 2018.02.19 |
---|---|
C++ 문법 - 문자열 string (0) | 2018.02.12 |
C++ 실습 - 체이닝 해시 알고리즘 구현 (0) | 2018.02.12 |
C++ 실습 - 링크드리스트 (0) | 2018.02.12 |
C++ 실습 - 암호화 (0) | 2018.02.12 |