언리얼 블루프린트 인터페이스
인터페이스를 선언한 뒤,
인터페이스를 상속하게 되면 인터페이스에 선언해준 함수들을
public으로 구현하게 되어 있다.
블루프린트의 인터페이스는 따로 상속없이, 인터페이스에 선언된 함수들을
구현해줌으로써 상속의 기능까지 수행해주는 듯 하다.
1. 인터페이스 선언 방법
2. 인터페이스 내의 함수 선언
인터페이스는 인터페이스 내에서 함수의 구현을 해주지 않고,
인터페이스를 상속한 클래스 내에서 구현을 해준다.
따라서 인터페이스 내에서 선언한 함수는 선언만 해주며, 읽기 전용으로 표시된다.
3. 인터페이스 상속 및 인터페이스 내 함수 구현
인터페이스를 상속하게 되면 인터페이스 내에 선언된 함수들을
public으로 모두 구현해주어야 한다는 특징을 갖는다.
4. 인터페이스를 상속받은 클래스에서 함수 구현 방법
모든 블루프린트(인터페이스의 구현이나 상속과 관련없는 클래스를 의미..)에서
인터페이스에서 선언해준 함수를 호출할 수 있고,
그 함수의 호출을 통해 인터페이스를 상속받아 구현해 준 클래스를 구분할 수 있게 된다.
선언해준 함수를 호출하는 방법 말고,
이 노드를 통해 해당 인터페이스를 구현해 준 클래스 오브젝트인지 구분하는 방법도 있다.
전에 유니티에서 인터페이스를 공부한 적이 있는데,
이해를 돕고자... 간단한 코드를 작성해본다.
// 인터페이스 선언 및 구현
public interface IItem
{
void Use();
}
public class SpeedItem : IItem
{
public void Use()
{
...
}
};
public class Avatar : MonoBehaviour
{
private void OnTriggerEnter(Collider other)
{
IItem item = other.GetComponent<IItem>();
if(item!=null)
{
item.Use();
}
};
Avatar 클래스에서처럼 인터페이스를 활용하여 인터페이스를 상속한
클래스 오브젝트를 체크하고,
Avatar가 충돌한 오브젝트에 구현된 Use 함수를 실행시킬 것이다.
따라서 언리얼 엔진 문서에서 다수의 상이한 오브젝트 유형의 상호작용이 가능하게 되는 것...