객체지향에서 설계상 용어로 멤버변수는 Property, 함수는 Method라고 부른다.

 

 

 


 

 

Reflection

 


 

Reflection이란?

 

언리얼엔진에서 Reflection이란 용어는 '프로그램이 실행시간에 자기 자신을 조사하는 기능'을 말한다.

C++은 Reflection 기능이 없다. 언리얼엔진은 자체적으로 만든 Reflection 기능을 제공한다.

 

언리얼엔진의 Reflection을 활용하면 '열거형(UENUM), 구조체(USTRUCT), 클래스(UCLASS), 함수(UFUNCTION), 멤버 변수' 등을 컴파일 시 뿐만 아니라 런타임 시간에 수집된 정보에 접근할 수 있다

 

이러한 Reflection 기능을 언리얼엔진은 PROPERTY라고 부른다. 

 


 

Reflection의 작동원리

 

 

 

 


 

 

PROPERTY

 

 


 

Property란?

 

언리얼엔진에서 PROPERTY의 사용은

 

언리얼엔진 Reflection 시스템에 해당 PROPERTY가 있다고 알리는 것이다

 

 

 


 

Property 시스템 계층구조

 

UField

   UStruct

      UClass (C++ class)

      UScriptStruct (C++ struct)

      UFunction (C++ function)

   UEnum (C++ enumeration)

   UProperty (C++ member variable or function parameter)

     (Many subclasses for different types)

 

 


 

UPROPERTY 세부항목

 

 

  DefaultsOnly InstanceOnly Anywhere
Edit BP Editor에서 편집O Object(객체)에서 편집O BP Editor와 Object 모두에서 편집O
Visible BP Editor에서 보기O Object(객체)에서 보기O BP Editor와 Object 모두에서 보기O

EditDefaultsOnly, EditInstanceOnly, EditAnywhere

VisibleDefaultsOnly, VisibleInstanceOnly, VisibleAnywhere

 

 

  블루프린트(BP)에서 읽기 블루프린트(BP)에서 쓰기
 BlueprintReadOnly O X
 BlueprintReadWrite O O