Virtual이라는 키워드가 C++에 존재한다. 무슨 용도로 쓰일까?? 알아보자 참고로 여기서 가상이라는 것은 실존하지 않는다는 뜻이 절대 아니다. 우선 답부터 말해주자면 동적 바인딩, Dynamic Binding을 위해서 쓰인다. 즉, 컴파일 시에 어떤 함수가 실행될 지 정해지지 않고 런타임 시에 정해지는 것이다. 여기서 동적 바인딩이란 컴파일 시에 정적 타입으로 참조할 주소가 정해지는 것과 달리 객체를 체크해서 참조할 주소를 정하는 것이라 생각하면 된다. 우선 머리에만 넣었다가 이따가 다시 예로 알아보도록 하자. 우선 업캐스팅을 알아보자 (다운 캐스팅도 있지만 생략) 업캐스팅이란 부모 클래스의 타입으로 자식객체를 선언하는 것 다운 캐스팅이란 자식 클래스 타입으로 부모객체를 선언하는 것 질문을 해보겠다..