UCLASS()
class OOOO AOOOOOO : public AActor
{
GENERATED_BODY()
.......
클래스 선언 매크로 - 언리얼 오브젝트임을 선언하기 위해서 클래스 선언 윗줄에 UCLASS라는 매크로를 선언하고 클래스 내부에는 GENERATED_BODY 매크로를 선언한다.
UCLASS()
class OOOO ACharacter : public AActor
{
GENERATED_BODY()
public:
ACharacter();
UStaticMeshComponent *Body;
.......
클래스 이름 접두사 - U와 A가 제공 된다. A는 액터 클래스에 사용하고 U는 액터가 아닌 그 외 클래스에 사용한다. ACharacter은 액터기 때문에 A가 붙은 클래스 이름을 가졌고, 액터의 구성 요소인 스태틱메시 컴포넌트는 액터가 아니니 UStaticMeshComponent라는 클래스 이름을 가진다.
#include "/////.h"
.......
#include "/////.h"
#include "Character.generated.h"
UCLASS()
class OOOO ACharacter : public AActor
{
.......
generated.h - 언리얼 엔진은 코드를 컴파일 하기 전에 언리얼 헤더 툴이라는 도구를 사용해 클래스 선언을 분석하고 실행 환경에 필요한 부가 정보를 별도의 파일에 생성한다. 언리얼 헤더 툴에 의해 자동 생성되는 부가 파일이 generated.h 파일이다. 코드를 작성할 때는 존재 하지 않지만 컴파일 과정에서 필연적으로 발생하기 때문에 언리얼 오브젝트 선언 마지막 #include 구문에 이 헤더파일을 반드시 선언해야한다.
class BATTLEROYAL_API OOOOO : public AActor
{
.......
외부 모듈에 공개 여부 - 윈도우 DLL 시스템은 DLL 내 클래스 정보를 외부에 공개할지 결정하는 _declspec라는 키워드를 제공한다. 이 키워드를 사용하려면 (모듈명_API)라는 키워드를 클래스 선언 앞에 추가한다. 이 키워드가 없으면 다른 모듈에서 해당 객체에 접근 할 수 없다.
'Programming > 언리얼엔진' 카테고리의 다른 글
언리얼엔진 트랜스폼 (0) | 2020.07.16 |
---|---|
언리얼 엔진 핫 리로드 (0) | 2020.07.15 |
언리얼 엔진 프로젝트 폴더 구성 (0) | 2020.07.15 |
언리얼 뷰포트 설명 및 조작 (0) | 2020.07.14 |
언리얼엔진 블루프린트 형변환 (0) | 2020.03.27 |