리플렉션이란?
C++ 클래스의 변수 및 함수 정보를 엔진 내부의 메타데이터 형태로 저장하고, 이를 에디터나 블루프린트에서 활용할 수 있게 만들어주는 기술이다.
// 클래스의 리플렉션 및 엔진 통합에 필요한 코드가 들어있음
#include "Item.generated.h"
// 해당 클래스를 언리얼 엔진의 리플렉션 시스템에 등록한다는 의미
UCLASS()
// 언리얼의 코드 생성 도구가 사용하는 코드를 삽입하는 역할
GENERATED_BODY()
UCLASS() 옵션
Blueprintable / NotBlueprintable : 블루프린트에서 상속 가능한 클래스 여부
BlueprintType : 블루프린트에서 변수나 참조로 사용할 수 있게 함, 이 옵션만 있으면 상속 불가에 참조만 가능
UPROPERTY()
1. 편집 가능 범위 지정자
- VisibleAnywhere, EditAnywhere, EditDefaultsOnly, EditInstanceOnly
2. BluePrint 접근성 지정자
- BlueprintReadWrite, BlueprintReadOnly
3. Category 지정자
4. 메타 옵션 지정자
- meta=(ClampMin="0.0") : 최솟값 제한, meta=(AllowPrivateAccess="true")
만약 지정자를 하나도 주지 않으면 리플렉션 시스템에 등록은 되지만 에디터나 블루프린트에 노출되지 않음
UFUNCTION()
1. Blueprint 관련 지정자
- BlueprintCallable, BlueprintPure : Getter 역할만 수행, BlueprintImplementableEvent
'내일배움캠프-언리얼' 카테고리의 다른 글
| [내일배움캠프 - 언리얼] DAY 36 - TA-수학 기초 (1) | 2026.01.20 |
|---|---|
| [내일배움캠프 - 언리얼] DAY 35 - GAS 1강 (0) | 2026.01.19 |
| [내일배움캠프 - 언리얼] DAY 33 - 액터 트랜스폼 (0) | 2026.01.15 |
| [내일배움캠프 - 언리얼] DAY 32 - 로그와 라이프 사이클 (0) | 2026.01.13 |
| [내일배움캠프 - 언리얼] DAY 31 - Actor와 Component (0) | 2026.01.12 |