<aside> 🧑💻 강의의 주요적인 목표
언리얼 오브젝트를 통해서 어떤 작업을 할 수 있는가?
언리얼 오브젝트의 특징과 리플렉션 시스템을 설명한다
언리얼 오브젝트의 처리 방식을 이해한다.
</aside>
언리얼 프로퍼티 시스템으로 제목이 되어 있기는 함.
리플렉션(Reflection)은 프로그램이 실행시간에 자기 자신을 조사하는 기능입니다.
근데 왜 이름이 이래?
⇒ 일반적인 Reflection은 그래픽을 다루는 사람들에게 있어서는, 반사를 의미하기 때문에, 다음과 같이 이름을 바꿔준 것임. 그래서 프로퍼티 시스템.
하지만 Reflection이라고 할꺼임.
C#에서 배운 적이 있는데, 리플렉션 자체가 프로그램 실행하면서 자기 상태에 대해서 바라 보는 것인데, 이 기능 자체가 언리얼의 근간을 이룬다고 합니다.
(출처 : https://kici.or.kr/2022/04/13/거울놀이/)
우리가 살면서 이렇게 거울을 보며 머리도 고치고~ 씻고~ 수염도 밀고~ 하는 것처럼 코드도 돌아가면서 내가 뭐가 문제고~ 이런 거를 파악하는 것을 리플렉션이라고 하는 것.
에디터, 시리얼라이제이션, 가비지 콜렉션, 네트워크 같은 것이 리플렉션 베이스.
C++에서는 이런 기능이 없고 언리얼에서 자체적으로 구성을 하였음.
(그래서 이런 리플렉션을 보장 받을 수 있는 객체가 UObject인가?)
리플렉션을 어떻게 하면 보장받을 수 있나? (솔직히 다 비치는 건 좋지는 않으니까.)
⇒ 보이고자 하는 유형이나, 프로퍼티에 주석을 달아둔다면, Unreal Header Tool에 의해서 프로젝트를 컴파일할 때 해당 정보를 수집하게 된다.
아 이게 바로,