본문 바로가기
게임 공부/Unreal Engine

[UE4] UPROPERTY란?

by woohyeon 2021. 7. 23.
반응형

C++은 프로그래머가 직접 힙 메모리를 할당했을 경우, 해제까지 직접 해주어야 메모리 릭이 발생하지 않는다. 반면 언리얼 엔진에선 언리얼 실행 환경을 통해 객체가 더 이상 사용되지 않으면 할당된 메모리를 자동으로 소멸시켜주는 기능을 제공한다.

이러한 기능을 제공받기 위해서는 객체를 선언할 때 다음과 같이 UPROPERTY라는 매크로를 사용해주어야 한다.

UPROPERTY()
UStaticMeshComponent* Mesh;

 

하지만 이러한 기능을 모든 객체에 적용할 수 있는 것은 아니다. 언리얼 오브젝트라는 특별한 객체에만 사용이 가능한데, 다음과 같은 조건이 필요하다.

  • UCLASS 매크로가 선언된 클래스
  • U혹은 A 접두사가 붙은 클래스
  • generated.h 헤더 include가 선언된 클래스
  • 모듈명_API 키워드가 클래스 선언 앞에 존재하는 클래스 -> 다른 모듈에서 해당 객체에 접근할 수 있도록 해준다.



댓글