객체지향에서 설계상 용어로 멤버변수는 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