작성
·
381
0
해당 코드에서
UPROPERTY()
TObjectPtr<class UCard> Card;
컴포지션을 사용한 Card와
UPROPERTY()
UCard* Card = NewObject<UCard>();
동적으로 생성한 Card의 정확한 차이와 구분을 모르겠습니다.
어떻게 구분해서 사용해야 할까요?
답변 2
2
밑의 구문은 언리얼 오브젝트를 초기화하는 올바른 방법이 아닙니다.
언리얼 오브젝트는 철저히 언리얼 시스템에 의해 관리되어야 하는데, 저 구문의 경우 객체는 C++ 런타임 시점에서 생성되다보니 언리얼 시스템의 관리에서 벗어나게 되어, 예기치 못한 문제를 발생시킬 수 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
김동희님께서 질문하신 CreateDefaultSubobject
와 NewObject
를 사용한 컴포지션의 차이에 대한 내용은 이득우 강사님의 “CreateDefaultSubobject 질문드립니다.” 라는 제목의 질문에서 다뤄진 바 있습니다. 질문자 Impact님께서 비슷한 주제로 궁금증을 표현하셨고, 강사님께서도 답변을 제공하셨습니다. 해당 내용을 참고하시면 컴포지션 사용과 동적으로 생성한 인스턴스의 차이 및 구분에 대해 더 잘 이해하실 수 있을 겁니다.
질문에 대한 답변을 보시려면 아래 링크를 확인해 주세요.
CreateDefaultSubobject 질문드립니다.