프로토타입 패턴이란?
프로토타입 패턴은 생성 패턴 중 하나로, 기존 객체를 복제하여 새로운 객체를 생성하는 패턴입니다. 이 패턴의 핵심은 객체의 생성 비용이 높거나 복잡한 경우, 이미 생성된 객체를 복제하여 새로운 객체를 만드는 것입니다.
public virtual object Clone() => Instantiate(this);
Instantiate(this): Unity의 Object.Instantiate() 메서드를 사용하여 현재 객체의 복사본을 생성합니다.
Unity의 Instantiate 메서드는 다음과 같은 특징이 있습니다:
- Deep Copy 수행: 객체의 모든 컴포넌트와 하위 객체들을 포함한 완전한 복사본을 생성
- SerializeField와 직렬화 가능한 모든 필드들이 자동으로 복사됨
- Unity 엔진 레벨에서 최적화된 복제 기능 제공
프로토타입 패턴의 장점
- 객체 생성 비용 감소
- 복잡한 초기화 과정을 거치지 않고 기존 객체를 복제
- Unity에서 특히 유용 (프리팹 인스턴스화 등)
- 유연성
- 런타임에 동적으로 객체를 생성 가능
- 객체의 상태를 보존하면서 복제 가능
- 캡슐화
- 객체 생성 로직을 클라이언트 코드로부터 분리
- 구체적인 클래스에 의존하지 않음
즉, 인스턴스가 부모 타입으로 업캐스팅된 상태일때 자식클래스의 타입을 몰라도 자동으로 복사본을 생성해줌
LIST
'Unity' 카테고리의 다른 글
State Machine (0) | 2025.04.08 |
---|---|
Unity Custom Editor - 윈도우 만들기 (0) | 2025.04.06 |
Unity UI 최적화 (1) | 2025.03.30 |
Unity 캐릭터가 아닌 오브젝트의 Animation Retargeting (0) | 2025.03.30 |
Unity 트러블 슈팅 - NavMeshAgent가 NavMesh에 배치되지 않았다는 오류 (0) | 2025.03.26 |