오브젝트 풀의 수명과 반환 규칙
재사용 구조에서 상태를 안전하게 관리하는 방법

이 글의 목차
문제 상황
오브젝트를 다시 사용할 때는 이전 상태가 남지 않아야 합니다. 생성 비용을 줄이는 것만큼, 반환 시점을 명확히 정하는 일이 중요합니다.
- 누가 반환하는지 책임을 정한다.
- 다시 사용할 상태를 일관되게 초기화한다.
Return()을 호출할 때 초기화 규칙도 함께 적용합니다.
수명 주기 설계
획득과 반환 사이의 상태를 분리하고, 초기화는 한곳에서 처리합니다.
- 사용 가능
- 사용 중
- 초기화
- 사용 가능
반환은 다음 사용을 준비하는 단계입니다.

반환 코드
public void Return(GameObject instance)
{
ResetState(instance);
instance.SetActive(false);
available.Enqueue(instance);
}메모
비활성화와 상태 초기화는 서로 다른 책임입니다.
정리
풀링은 생성 비용을 줄이는 도구입니다. 안정적인 재사용을 위해서는 상태와 반환 책임도 함께 설계해야 합니다.
코드 조각은 중복 반환·용량 제한 등 전체 풀 구현을 생략하고 반환 순서만 보여 줍니다.