언리얼 오브젝트

JungWoo·2023년 10월 9일
0

언리얼 오브젝트

  • 언리얼 엔진이 설계한 새로운 시스템의 단위 오브젝트(객체)
    • 기존 C++ 오브젝트에 모던 객체 지향 설계를 위한 다양한 기능을 추가한 오브젝트
    • 일반 C++ 오브젝트와 언리얼 오브젝트의 두 객체를 모두 사용할 수 있음
    • 구분을 위한 일반 C++ 오브젝트는 F, 언리얼 오브젝트는 접두사 U 사용
  • 각 오브젝트의 사용 용도
    • C++ 오브젝트 : 저수준의 빠른 처리를 위한 기능 구현에 사용
    • 언리얼 오브젝트 : 콘텐츠 제작에 관련된 복잡한 설계 구현에 사용

(언리얼 오브젝트 문서)

언리얼 오브젝트가 가지는 특징

  • 클래스 기본 객체(CDO) : 클래스의 기본 값과 타입 정보의 제공
  • 리플렉션(Reflection) : 런타임에서 클래스 정보의 참조 기능
  • 인터페이스(Interface) : 모던 객체 지향 언어가 제공하는 인터페이스의 제공
  • 향상된 열거형 : 보다 향상된 열거형의 지원
  • 델리게이트(Deligate) : 객체간의 결합을 낮출 수 있는 델리게이트 기능의 제공
  • 가비지컬렉션(Garbage Collection) : 자동 메모리 관리
  • 향상된 구조체(Struct) : 리플렉션이 가능한 구조체의 지원
  • 직력화(Serialization) : 객체 정보를 바이트 스트림으로 저장, 전송, 불러들이는 기능
#pragma once

// 기본적으로 포함되어야 할 헤더
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
// 객체이름.generated.h
#include "MyObject.generated.h"

/**
 * 
 */
// 언리얼 오브젝트 선엄임을 명시하기 위해서 UCLASS 메크로 명시
UCLASS()
//    프로젝트 이름_API (다른 곳에서도 해당 Object를 사욯할 수 있게 개방)
class UNREALOBJECT_API UMyObject : public UObject
{
	GENERATED_BODY()
	
};

언리얼 오브젝트 요약

  • 게임이 대형화 되면서 성능과 유지보수 두 가지가 모두 중요
  • 언리얼 엔진은 C++ 언어를 확장한 언리얼 오브젝트라는 객체 구조 고안
  • 지정된 메크로를 사용해 빌드를 수행하면, 추가 코드가 자동으로 만들어지는 구조
  • 언리얼 오브젝트를 사용해 대규모 게임 제작을 안정적으로 설계하고 구현
profile
UnrealEngine 꿈나무

0개의 댓글