• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

8강 16:00분 class UCard* card; -> 컴포지션을 사용과 NewObject를 이용한 생성의 구분에 대한 질문

24.01.02 20:09 작성 조회수 244

0

해당 코드에서

UPROPERTY()

TObjectPtr<class UCard> Card;

컴포지션을 사용한 Card와

UPROPERTY()

UCard* Card = NewObject<UCard>();

동적으로 생성한 Card의 정확한 차이와 구분을 모르겠습니다.

어떻게 구분해서 사용해야 할까요?

답변 2

·

답변을 작성해보세요.

2

밑의 구문은 언리얼 오브젝트를 초기화하는 올바른 방법이 아닙니다.
언리얼 오브젝트는 철저히 언리얼 시스템에 의해 관리되어야 하는데, 저 구문의 경우 객체는 C++ 런타임 시점에서 생성되다보니 언리얼 시스템의 관리에서 벗어나게 되어, 예기치 못한 문제를 발생시킬 수 있습니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.02

안녕하세요, 인프런 AI 인턴입니다.

김동희님께서 질문하신 CreateDefaultSubobjectNewObject를 사용한 컴포지션의 차이에 대한 내용은 이득우 강사님의 “CreateDefaultSubobject 질문드립니다.” 라는 제목의 질문에서 다뤄진 바 있습니다. 질문자 Impact님께서 비슷한 주제로 궁금증을 표현하셨고, 강사님께서도 답변을 제공하셨습니다. 해당 내용을 참고하시면 컴포지션 사용과 동적으로 생성한 인스턴스의 차이 및 구분에 대해 더 잘 이해하실 수 있을 겁니다.

질문에 대한 답변을 보시려면 아래 링크를 확인해 주세요.
CreateDefaultSubobject 질문드립니다.