인터페이스란?
객체가 반드시 구현해야 할 행동을 지정하는데 활용하는 타입입니다. 다형성의 구현 의존성이 분리된 설계 유용하게 활용한다.

언리얼 엔진 C++ 인터페이스 특징
1️⃣ UInterface 클래스를 사용하여 선언해야 함
2️⃣ UObject 기반이므로, 언리얼의 리플렉션 시스템(Reflection)을 지원
3️⃣ 다른 UObject 기반 클래스에만 적용 가능 (AActor 등)
4️⃣ 인터페이스의 함수를 반드시 가상 함수(virtual)로 선언해야 함
5️⃣ C++과 블루프린트 모두에서 사용할 수 있음
// IMyInterface.h
#pragma once
#include "UObject/Interface.h"
#include "IMyInterface.generated.h"
// UINTERFACE() 매크로를 사용하여 인터페이스 선언
UINTERFACE(MinimalAPI)
class UMyInterface : public UInterface
{
GENERATED_BODY()
};
// 인터페이스를 구현할 클래스가 상속받을 실제 인터페이스
class MYPROJECT_API IMyInterface
{
GENERATED_BODY()
public:
// 인터페이스의 순수 가상 함수 선언
virtual void DoSomething() = 0;
};
UINTERFACE(MinimalAPI) → 언리얼의 리플렉션 시스템을 사용하도록 설정
IMyInterface 클래스에서 DoSomething()을 순수 가상 함수로 선언
UMyInterface는 UObject의 기능을 포함하는 언리얼 고유의 인터페이스 시스템

'언리얼 엔진 공부 > 언리얼C++' 카테고리의 다른 글
| 직렬화 (2) | 2025.04.08 |
|---|---|
| 언리얼C++델리게이트(Delegate) (0) | 2025.04.03 |
| 컴포지션 (0) | 2025.04.03 |
| 언리얼 오브젝트 리플렉션 시스템 (0) | 2025.04.01 |
| 언리얼C++ 기본 타입과 문자열(Unreal C++ Primitive Types And String) (0) | 2025.03.31 |