인터페이스 계약

인터페이스 능력 호출

발사체는 적인지 플레이어인지 몰라도, 대미지를 받을 수 있다는 계약만 확인하고 같은 메시지를 보냅니다.

선언

BPI_Damageable에 함수만 둡니다

ApplyDamage 입력 핀을 정하고 실제 체력 감소 로직은 넣지 않습니다.

구현

각 클래스가 자기 방식으로 처리합니다

적, 플레이어, 파괴 상자는 같은 함수명 아래 서로 다른 반응을 가집니다.

호출

메시지는 대상 클래스에 덜 의존합니다

충돌한 액터가 계약을 구현했다면 메시지 노드로 대미지를 전달합니다.

확장

새 객체 추가 때 호출자를 고치지 않습니다

새 블루프린트가 같은 인터페이스를 구현하면 기존 발사체 흐름을 재사용합니다.

호출자가 알아야 할 것

상대의 정확한 클래스가 아니라 공통 기능 이름이면 충분합니다.

인터페이스 적합
각 클래스가 다르게 할 일

같은 메시지를 받아도 체력 감소, 파괴, 점수 처리처럼 구현은 나뉩니다.

다형성 활용
명시적 확인이 필요한 때

대상이 계약을 구현했는지 분기하면 실패 흐름을 더 읽기 쉽게 만들 수 있습니다.

안정성 점검