오브젝트 풀링

Object Pooling

프로그램에서 사용하는 객체를 미리 생성해 '풀(Pool)'이라는 컬렉션에 저장해 필요할 때 재활용하는 디자인 패턴

객체를 자주 생성하고 파괴하는 과정에서 발생하는 성능 저하를 방지하기 위해 사용한다

 

 

작동 방식

일정량의 객체를 미리 생성한 후 비활성화해 풀에 저장한다

필요할 때마다 비활성화된 객체를 활성화해(꺼내서) 사용한다

사용이 끝났을 때, 다시 비활성화해 풀에 넣는다

 

 

장점

객체를 생성하고 파괴하는 과정에서 나타나는 메모리 할당과 해제에 대한 부하를 줄일 수 있다

미리 생성한 객체를 재활용하기 때문에, 가비지 컬렉션의 타겟이 아니다

가비지 컬렉션의 호출을 최소화할 수 있기 때문에 성능을 향상시키며, 프레임 드랍을 방지한다