언리얼 C++에서 Super::함수이름 사용

김민수·2025년 1월 8일

언리얼 C++

목록 보기
5/32

Unreal Engine에서 상위 클래스의 가상 함수를 오버라이딩할 때, Super::함수이름을 호출해야 하는 경우가 많다. 이 호출은 상위 클래스의 기본 동작을 유지하거나 확장하려는 목적으로 사용된다.

#include "GameFramework/Actor.h"
#include "MyActor.generated.h"

UCLASS()
class MYGAME_API AMyActor : public AActor
{
    GENERATED_BODY()

public:
    virtual void BeginPlay() override;
};

void AMyActor::BeginPlay()
{
    // 상위 클래스의 BeginPlay 호출
    Super::BeginPlay();

    // 추가 작업
    UE_LOG(LogTemp, Warning, TEXT("AMyActor BeginPlay Called!"));
}


생략할 경우 문제점

  • 상위 클래스 함수에 정의된 중요한 초기화, 업데이트, 종료 작업이 누락될 수 있음
  • Unreal Engine의 함수 호출 체인을 깨뜨리면 예기치 않은 동작(예: 잘못된 이벤트 순서, 미완성된 초기화 등)이 발생할 수 있음
profile
안녕하세요

0개의 댓글