언리얼 인터페이스

Taegang Yun·2024년 6월 8일
0

Unreal

목록 보기
4/11

Interface

자식 클래스가 반드시 구현해야할 “행동”을 지정하는데 활용되는 클래스.
ex. 참새, 뱁새 클래스를 만든다면 새는 “날아가기”라는 행동을 하기에
새 인터페이스를 만들어서 Fly() 함수를 만들고
참새, 뱁새 클래스가 새 인터페이스를 상속 받아서 Fly() 함수를 정의하게끔 강제함.

인터페이스의 목적

다형성의 구현, 의존성이 분리된(Decouple) 설계에 유용하게 활용됨.
ex. 새의 주인 클래스가 있고 주인이 새를 날린다고 가정.
주인 클래스는 무슨 새인지, 새가 어떻게 날아가는지는 상관없음.
그저 날아가기만 하면 됨. 그래서 새 인터페이스의 Fly() 함수를 통해서 새와 연결.
이를 통해, 참새 혹은 뱁새 클래스 내에서 문제가 생겨서 수정하더라도
새 인터페이스가 바뀌지 않는 한, 새 주인 클래스는 재컴파일 되지 않음.
참새 클래스 - 새 인터페이스 - 새 주인 클래스

Unreal Interface 생성시 유의사항

인터페이스를 생성하면 두 개의 클래스가 하나의 파일에 작성되어 있음.
U로 시작하는 타입 클래스와 I로 시작하는 인터페이스 클래스.
런타임에서 클래스 타입 정보를 제공할 때는 타입 클래스,
개체를 설계할 때는 인터페이스 클래스를 사용함.
실제로는 타입 클래스를 거의 사용하지 않음.
또, 다른 언어와 다르게 Unreal C++ Interface에는 선언과 동시에 정의가 가능.

profile
언젠간 전문가가 되겠지

0개의 댓글