프로그래밍 언어/C & C++ 정리

C++ 에서 가상 함수가 필요한 이유는 무엇인가?

뽀또치즈맛 2024. 10. 24. 12:07

C++에서 가상 함수란 무엇인가?

C++의 가상 함수는 파생 클래스에서

다형성을 달성하기 위해 재정의할 수 있는 기본 클래스 멤버 함수입니다.

virtual 키워드를 사용하여 기본 클래스에서 함수를 선언할 수 있습니다.

기본 클래스에서 함수를 선언하면

포인터나 참조를 사용하여 가상 클래스를 호출하고

파생 클래스에서 가상 버전을 실행할 수 있습니다.

따라서 컴파일러에게 런타임 중에 객체의 유형을 결정하고

함수 바인딩(늦은 바인딩 또는 동적 연결)을 생성하도록 요청합니다.

 

C++의 가상 함수는 참조 또는 포인터를 통해 올바른 함수를 호출하는 데 도움이 됩니다.

C++ 프로그래밍 언어에서는 단일 포인터만 사용하여 모든 파생 클래스 객체를 참조할 수 있습니다.

포인터는 모든 파생 객체를 참조하므로 이를 호출하면

기본 클래스에서 함수가 일관되게 실행됩니다.

C++의 가상 함수로 이러한 문제를 해결할 수 있습니다.

이는 런타임에 수행되는 파생 클래스의 가상 버전을 실행하는 데 도움이 되기 때문입니다.

 

 

출저 : https://www.simplilearn.com/tutorials/cpp-tutorial/virtual-function-in-cpp