인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

hing not님의 프로필 이미지

작성한 질문수

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

컴포지션 구현 방법에 대한 질문

작성

·

53

0

컴포지션을 만드는 방식 중에서 생성자에서 미리 언리얼 오브젝트를 생성해 조합하는 방법은 실습을 통해 알았지만, 빈 포인터만 넣고 런타임에서 언리얼 오브젝트를 생성해 조합하는 방법은 어떤 식으로 하는 건지 모르겠습니다. 이 부분도 알려주세요!!

답변 2

0

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

예제에서 설명한 것과 같이 NewObject API를 사용하면 됩니다.

0

인프런 AI 인턴님의 프로필 이미지

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

hing not님께서 질문하신 컴포지션 구현에 대한 부분은 언리얼 엔진의 객체 생성 및 관리 방식과 관련이 깊습니다.

언리얼 오브젝트 생성 방법

  1. 생성자에서 객체를 생성하는 방법: 이는 흔히 CreateDefaultSubobject를 사용하여 클래스의 생성자에서 객체를 초기화하는 방식입니다. 이 방법은 주로 컴포넌트를 초기화할 때 사용합니다.

  2. 런타임에서 객체를 생성하는 방법: 런타임 시 동적으로 언리얼 오브젝트를 생성하기 위해서는 NewObject<UClassType>() 함수를 사용합니다. 이는 주로 게임 실행 중 특정 이벤트가 발생했을 때 새로운 오브젝트를 생성할 때 사용됩니다. 이 방식의 주의점은 언리얼의 가비지 컬렉션 시스템을 고려해야 한다는 것입니다. 생성한 객체가 적절히 관리되지 않으면 메모리 문제를 일으킬 수 있습니다.

이와 관련된 더 자세한 정보는 기존에 제공된 답변을 통해 확인하실 수 있습니다.

해당 게시물에서는 CreateDefaultSubobjectNewObject의 차이와 사용 방법에 대한 설명이 제공되었습니다. 위 링크를 통해 더욱 풍부한 맥락을 얻으실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

hing not님의 프로필 이미지

작성한 질문수

질문하기