인프런 커뮤니티 질문&답변

상병님의 프로필 이미지
상병

작성한 질문수

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

FProperty와 FField가 무엇인가요?

해결된 질문

작성

·

198

·

수정됨

0

안녕하세요. 리플렉션 관련 강의를 보다 궁금한게 생겨 질문드립니다.

FProperty* 를 통해 리플렉션을 통해 변수의 값을 가져오는 강의의 내용을 보다가,

FProperty가 뭔지 궁금해서 엔진 코드를 약간 열어보다가 UProperty와 함께 리플렉션을 위한 클래스인 것을 알게 되었습니다.

 

두 개는 각각 FField, UField(이것의 경우 UObject까지 상속받기는 함)을 상속받는데,

FField나 UField나 주석이 똑같이

Base class of reflection data objects.

라고 작성되어 있는데 설명된 문서도 못 찾겠어서 뭔지 잘 모르겠습니다.

 

UField, FField 나 UProperty, FProperty 등 U나 F 접두사가 다른 리플렉션 클래스들이 무엇이 다르고 차이점과 용도가 어떻게 다른 것인가요?

답변 1

1

이득우님의 프로필 이미지
이득우
지식공유자

과거에는 UProperty를 사용했는데, 어느 시점부터 이들이 FProperty로 대체되었습니다.
정확한 이유에 대한 문서는 찾아보기가 어려운데, 리플렉션 값을 조회하는데 굳이 언리얼 오브젝트를 사용하는 것이 불필요해서 일반 C++ 클래스로 제작했을 것으로 추측됩니다.
과거의 UProperty 및 UField 클래스는 사용하는 곳이 없으니 FProperty와 FField로 대체해주시면 될 것 같습니다.

상병님의 프로필 이미지
상병
질문자

답변 감사드립니다. 궁금했는데 해결이 되었습니다.

상병님의 프로필 이미지
상병

작성한 질문수

질문하기