언리얼 오브젝트
- 언리얼 엔진이 설계한 새로운 시스템의 단위 오브젝트(객체)
- 기존 C++ 오브젝트에 모던 객체 지향 설계를 위한 다양한 기능을 추가한 오브젝트
- 일반 C++ 오브젝트와 언리얼 오브젝트의 두 객체를 모두 사용할 수 있음
- 구분을 위한 일반 C++ 오브젝트는 F, 언리얼 오브젝트는 접두사 U 사용
- 각 오브젝트의 사용 용도
- C++ 오브젝트 : 저수준의 빠른 처리를 위한 기능 구현에 사용
- 언리얼 오브젝트 : 콘텐츠 제작에 관련된 복잡한 설계 구현에 사용
언리얼 오브젝트가 가지는 특징
- 클래스 기본 객체(CDO) : 클래스의 기본 값과 타입 정보의 제공
- 리플렉션(Reflection) : 런타임에서 클래스 정보의 참조 기능
- 인터페이스(Interface) : 모던 객체 지향 언어가 제공하는 인터페이스의 제공
- 향상된 열거형 : 보다 향상된 열거형의 지원
- 델리게이트(Deligate) : 객체간의 결합을 낮출 수 있는 델리게이트 기능의 제공
- 가비지컬렉션(Garbage Collection) : 자동 메모리 관리
- 향상된 구조체(Struct) : 리플렉션이 가능한 구조체의 지원
- 직력화(Serialization) : 객체 정보를 바이트 스트림으로 저장, 전송, 불러들이는 기능
#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "MyObject.generated.h"
UCLASS()
class UNREALOBJECT_API UMyObject : public UObject
{
GENERATED_BODY()
};
언리얼 오브젝트 요약
- 게임이 대형화 되면서 성능과 유지보수 두 가지가 모두 중요
- 언리얼 엔진은 C++ 언어를 확장한 언리얼 오브젝트라는 객체 구조 고안
- 지정된 메크로를 사용해 빌드를 수행하면, 추가 코드가 자동으로 만들어지는 구조
- 언리얼 오브젝트를 사용해 대규모 게임 제작을 안정적으로 설계하고 구현