업캐스팅

·2022년 8월 29일

c++ 디자인 패턴

목록 보기
2/9

정의

: 부모 객체 포인터로 자식 객체를 가리키는 것을 말함.

  • 가능한 이유?
    : 메모리 구조를 생각해보자.

problem

: 그림을 그리고, 반대는 왜 안되는지 서술하라.

  • 그림
    : animal의 메모리를 Dog가 그대로 가지고 있음.
    but, 업캐스팅시 bark에 접근하려면, 캐스팅을 해야한다는 특징이 있음.

  • 반대에 대해서 생각을 해보면, dog의 bark 데이터가 Animal 클래스에는
    없기때문에 반대로는 불가능함. but, 이를 다운캐스팅이라고 하고,
    먼저 만들어진 객체로는 다운캐스팅이 가능함.

  • 왜 하는 것일까?
    : 다형성을 표현할 수 있는 기본 구조.
    // virtual 함수가 있어야 가능함.

profile
🔥🔥🔥

0개의 댓글