인프런 커뮤니티 질문&답변
변수나 함수이름 TEXT로 찾아서 사용할때
작성
·
450
1
왜 fproperty는 staticclass()를 사용하고 ufunction은 getclass()를 사용해서 reflection을 하나요?
답변 1
2
이득우
지식공유자
아래 두 구문은 동일한 오브젝트를 가리키고 있어서 똑같은 결과가 나옵니다.
UTeacher::StaticClass()
Teacher->GetClass()시점이 컴파일 타임인지, 런타임인지의 차이가 있습니다.
예제는 둘 다 한 번씩은 사용하는 것이 좋을 것 같아 고안했습니다.
이득우
지식공유자
Get/SetValue_InContainer 함수를 보면 인자로 인스턴스를 넘기는 것을 볼 수 있습니다.
FProperty* NameProp = UTeacher::StaticClass()->FindPropertyByName(TEXT("Name"));
if (NameProp)
{
NameProp->GetValue_InContainer(Teacher, &CurrentTeacherName);
NameProp->SetValue_InContainer(Teacher, &NewTeacherName);
}





StaticClass()를 사용해서 변수이름으로 Reflection 해서 출력하거나 사용하면
CDO의 변수 Initial 값만 전달해주는게 아닌가 해서 여쭈어봤습니다.