인프런 커뮤니티 질문&답변

김동희님의 프로필 이미지
김동희

작성한 질문수

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

8강 언리얼 C++ 설계 II - 컴포지션

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

작성

·

375

0

해당 코드에서

UPROPERTY()

TObjectPtr<class UCard> Card;

컴포지션을 사용한 Card와

UPROPERTY()

UCard* Card = NewObject<UCard>();

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

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

답변 2

2

이득우님의 프로필 이미지
이득우
지식공유자

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

0

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

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

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

김동희님의 프로필 이미지
김동희

작성한 질문수

질문하기