개발나라 스용공주

[UNREAL] 블루프린트 BluePrint 이론 (19) / 객체지향의 캐스팅 본문

개발일지/UNREAL ENGINE

[UNREAL] 블루프린트 BluePrint 이론 (19) / 객체지향의 캐스팅

스용공주 2024. 2. 1. 16:11
728x90
728x90

캐스팅이란 상위 클래스가 하위 클래스의 변수나 함수를 사용하고 싶으나 하위 클래스에만 포함되어져있어 사용하지 못하는 경우에 사용하는 것이다. 캐스팅을 사용할 경우 하위 클래스의 변수나 함수에 도달할 수 있다.

 

상속의 경우 자신에게 속한 변수와 함수들을 물려주기만 하는데 캐스팅의 경우 상속을 해주는 주체인 상위의 클래스가 자신에게 속해있는 하위의 클래스에서 필요한 변수와 함수를 가져올 수 있는 기능이다.

 

BP_Player : 상위 / BP_Knight : 하위

  • 위의 사진과 같이 캐스팅을 할 때 하위 클래스를 스폰한 뒤 상위 클래스에서 하위클래스를 끌어오는 캐스팅은 가능하다.
  • 하지만 아래와 같이 상위 클래스를 스폰한 상태에서 하위 클래스로 캐스팅은 안된다.
  • (하위 클래스가 상위 클래스인 것은 반드시 포함하고 있다는 게 사실이지만 상위 클래스는 해당 하위클래스 뿐만 아니라 다른 것도 포함하고 있을 수 있기 때문이다. / ex. 고양이는 동물이다.는 맞지만 동물은 고양이다(?)가 아닌 것처럼)

만약 위와 같은 상황으로 캐스팅이 되지 않았을 경우 Cast To 클래스명 의 부분에 Cast Failed에 연결된 노드가 실행된다.

728x90
728x90
Comments