가상화에 대해서 검색해보다가 사소하게 생각하며 지나친 부분에대해 새로이 알게됐다.C++에 있는 virtual 키워드의 용도, 그리고 JAVA와의 차이점을 알게 되었다. 1. C++에서의 상속 class Parent { public : Parent(){}; ~Parent() {}; void foo() { std::cout > parent!!! Parent* p = new Child(); 이 것을 통해 불려진 foo함수에서, child의 foo가 아닌 parent의 foo가 호출되는 것을 볼 수 있다.이유는, 컴파일러가 포인터의 타입을 보고 타입에 맞는 메소드를 찾아주기 때문이다. 그러나, 부모의 foo 메소드 앞에 virtual 이라는 키워드를 붙인다면???부모가 아닌 child의 foo 메소드가 호출된다..