UCLASS
- 클래스를 리플렉션 시슽템에 등록
- UObject에서 상속된 모든 클래스에 사용
UPROPERTY
- 클래스 멤버 변수를 리플렉션 시스템에 등록
- 블루프린트, 저장, 네트워크 복제 등 다양한 기능에 변수를 노출
- EditAnywhere - 에디터에서 수정 가능
- BlueprintReadWrite - 블루프린트에서 읽고 쓰기 가능
- Replicated - 네트워크 복제 가능
- Transient - 저장하지 않음
UFUNCTION
- 함수를 리플렉션 시스템에 등록
- 블루프린트에서 호출하거나 네트워크 RPC로 사용할 수 있음
- BlueprintCallable - 블루프린트에서 호출 가능
- BlueprintImplementableEvent - 블루프린트에서 구현 가능
- Server, Client, NetMulticast - 네크워크 RPC 함수로 사용
* RPC는 복잡한 통신 프로세스를 추상화하여 생산성을 높이는 기술(아직 잘 모르겠음;;)
USTRUCT
- 구조체를 피를렉션 시스템에 등록
- 데이터를 저장하거나 블루프린트에서 사용하려면 필요