Virtual1 [C++] 가상 함수와 가상 소멸자에 대해 알아보자(feat. 가상테이블) | virtual 가상 함수와 가상 소멸자는 상속 관계에서 사용되는 용어이며, 멤버 함수에 virtual 키워드가 붙은 함수를 말한다. 이는 C++에서 OOP의 중요한 특징 중 하나인 다형성(Polymorphism)을 지원하기 위한 기능 중 하나이다. C++의 멤버 함수는 기본적으로 컴파일 타임에 호출할 클래스의 형이 결정된다.(정적 바인딩) virtual 키워드는 호출 대상을 컴파일 타임이 아닌 런타임에 판단하여 해당 포인터가 가리키는 오브젝트의 실제 클래스 타입을 찾아 그 클래스의 함수를 동적으로 호출할 수 있게 해준다. 참고로 자바에선 모든 멤버 함수가 가상 함수이다. 따라서 상위 클래스의 함수를 재정의하면 알아서 하위 클래스의 함수가 호출된다. 예를 들어, 아래와 같이 상위 클래스의 포인터 변수 pBase에 하위 .. 2019. 12. 10. 이전 1 다음