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

Peter Han님의 프로필 이미지
Peter Han

작성한 질문수

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

6강 언리얼 오브젝트 리플렉션 시스템 II

변수나 함수이름 TEXT로 찾아서 사용할때

작성

·

380

1

왜 fproperty는 staticclass()를 사용하고 ufunction은 getclass()를 사용해서 reflection을 하나요?

답변 1

2

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

아래 두 구문은 동일한 오브젝트를 가리키고 있어서 똑같은 결과가 나옵니다.

UTeacher::StaticClass()
Teacher->GetClass()

시점이 컴파일 타임인지, 런타임인지의 차이가 있습니다.
예제는 둘 다 한 번씩은 사용하는 것이 좋을 것 같아 고안했습니다.

Peter Han님의 프로필 이미지
Peter Han
질문자

StaticClass()를 사용해서 변수이름으로 Reflection 해서 출력하거나 사용하면

CDO의 변수 Initial 값만 전달해주는게 아닌가 해서 여쭈어봤습니다.

 

 

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

Get/SetValue_InContainer 함수를 보면 인자로 인스턴스를 넘기는 것을 볼 수 있습니다.

FProperty* NameProp = UTeacher::StaticClass()->FindPropertyByName(TEXT("Name"));
if (NameProp)
{
	NameProp->GetValue_InContainer(Teacher, &CurrentTeacherName);
	NameProp->SetValue_InContainer(Teacher, &NewTeacherName);
}
Peter Han님의 프로필 이미지
Peter Han

작성한 질문수

질문하기