WN_인생기록

가상함수와 순수 가상함수에 대해서 설명해주시겠어요? 본문

C++/면접 대비

가상함수와 순수 가상함수에 대해서 설명해주시겠어요?

WhNi 2024. 3. 20. 12:50

가상함수는 파생 클래스에서 가상 함수를 재정의해 자체적으로 함수 구현을 할 수 있도록 하는 기능입니다. 재정의하지 않아도 기본적인 기능은 보장되어 실체가 생길 수 있습니다.

 

순수가상함수는 virtual로 선언된 함수에 = 0; 값을 할당하는 가상함수입니다. 하나 이상의 순수 가상함수를 포함하는 클래스는 추상 클래스 라고 하며, 추상클래스의 객체는 인스턴스화 할 수 없습니다.(실체가 없습니다.)

기본 구현은 존재하지 않고, 파생 클래스에서만 재정의되어 구현되는데, 이는 인터페이스를 정의하여 파생클레스에 전달하기 위함입니다.  추상 클래스의 모든 순수가상함수를 재정의해야 실체가 생깁니다.

 

인터페이스* 파생클레스가 없으면 안될 중요한 요소. (구현하지 않으면 실체가 안생김)