언리얼 엔진 게임 프레임워크는 리플렉션 시스템을 기반으로 짜여져 있기 때문에 이해하는 것이 중요하다. 리플렉션 시스템이란?프로그램 실행 시간에 자기 자신을 조사하는 것.다시 말하자면 프로그램이 실행 중에 동적으로 프로그램 내의 클래스의 데이터들에 접근하고 조작하는 것을 지원하는 시스템이다.C++ 에서는 이것을 지원하지 않아서 언리얼에서 자체적으로 만들었다. 우리가 컴파일 전 작성해놓은 매크로를 헤더 툴이 분석해서 리플리케이션을 구성하는 소스코드를 만들어준다. UPROPERTY() , UFUNCTION() 과 같이 매크로를 적어놓고 선언을 해주면 엔진의 가비지 컬렉터가 관리 해주는데 그렇지 않을 떄는 직접 프로그래머가 관리 해주면 된다. UField->UStruct ->UClass이렇게 상속 받고 US..