호빵의 IT 개발소

가상 함수(Virtual)란? 본문

CS(전공지식)/기술면접 준비

가상 함수(Virtual)란?

호빵Stack 2025. 4. 14. 21:19

가상 함수 (Virtual Function)

  • 가상 함수는 기본 클래스에서 정의하고, 파생 클래스에서 오버라이딩할 수 있도록 하는 함수.
  • *런타임 다형성(Polymorphism)**을 구현하기 위해 사용됨.
  • virtual 키워드를 사용하며, 포인터나 참조를 통해 호출될 때 실제 객체 타입의 함수가 실행됨.
  • 가상 함수가 포함된 클래스는 내부적으로 **가상 함수 테이블(vtable)**을 생성함.

 

 

면접 스타일 답변 예시:

가상 함수는 기본 클래스에서 선언하고 파생 클래스에서 오버라이딩할 수 있는 함수로
런타임에서 실제 객체 타입에 따라 다른 함수가 실행되도록 도와줍니다.
즉, 다형성(polymorphism)을 구현하는 핵심적인 도구입니다.
예를 들어 Character라는 기본 클래스가 있고
이를 상속받은 Player와 Monster가 각자 다른 Attack()을 오버라이딩했을 때
기본 클래스 포인터로 객체를 다루더라도 실제 객체 타입에 맞는 Attack()이 실행됩니다.
이러한 기능은 게임 개발에서 다양한 유닛, 캐릭터, AI 행동 등을 공통 인터페이스로 다루면서
확장성과 유지보수성을 높이는 데 매우 유용합니다.

'CS(전공지식) > 기술면접 준비' 카테고리의 다른 글

C# 가비지컬렉터란?  (0) 2025.04.15
가상 함수 테이블이란?  (0) 2025.04.15
이터레이터(=반복자, iterator)란?  (0) 2025.04.14
전방 선언이란?  (0) 2025.04.14
Nan이란?  (0) 2025.04.14
Comments