언리얼 엔진의 오브젝트 | 언리얼 엔진 5.4 문서 | Epic Developer Community
MyObject.h
#pragma once
//언리얼 오브젝트가 되기 위해 기본적으로 포함되야할 헤더 두개
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
// ----------------------------------------------------------------------
#include "MyObject.generated.h"
UCLASS() //언리얼 오브젝트 선언임을 명시하기 위한 매크로
//UNREALOBJECT_API : 언리얼 오브젝트라는 프로젝트 이름임.
//MyObject라고 하는 언리얼 오브젝트가 다른 DLL, 다른 모듈이라고 불리는
//다른곳에서도 이 MyObject를 사용할 수 있게 개방해준다는거임.
// ~~_API를 삭제하면 MyObject는 다른 모듈에서 참조를 하지 않고
// 이쪽 언리얼 오브젝트라고 하는 모듈 내에서 밖에 사용할 수가 없게되는
// 그런 특징이 있음.
class UNREALOBJECT_API UMyObject : public UObject
{
GENERATED_BODY()
};
UHT(Unreal Header Tool)이 실행되면 어떤 작업을 하는지
헤더로 선언된 UCLASS(), UNREALOBJECT_API, GENERATED_BODY()
같은 매크로들을 참조해서 자기가 언리얼 오브젝트에 관련된
“MyObject.generated.h" 이 파일을 UHT가 자동으로 생성을 시켜줌.
UHT에서 이렇게 선언된 클래스들을 포함해서 완벽한 소스가 만들어지게 됨.