클래스, 프로퍼티, 함수에 적합한 매크로로 마킹해 주면 UClass, UProperty, UFunction 으로 변합니다. 그러면 언리얼 엔진이 접근할 수 있어, 다수의 내부적인 처리 기능을 구현할 수 있습니다. 자동 프로퍼티 초기화 UObject는 생성자 호출 전 초기화시 자동으로 클래스의 UProperty/네이티브 멤버 모두 0으로 채워집니다. 이후 클래스 생성자에서 커스텀 값으로 초기화 가능합니다. 레퍼런스 자동 업데이트 AActor 또는 UActorComponent가 소멸되면, 리플렉션 시스템에 보이고 있는 그에 대한 모든 레퍼런스는 자동으로 null 이 됩니다. 댕글링 포인터 문제의 소지를 줄인다는 장점이 있지만, 다른 곳에서 포인터를 언제든지 소멸시켜 null이 될 수도 있습니다. 여기서 최고..