Object Pooling(이하 오브젝트 풀링)이란 객체(Object)를 재사용하기 위한 디자인 패턴이다.
어플리케이션에서 빈번하게 반복되는 특정한 작업이 있다고 가정해보자. 해당 작업이 일어날 때마다 관련된 객체가 생성되고 이를 위한 메모리가 할당이 될 것이다. 그런데 이 작업이 수백, 수천만번 반복된다고 하면 메모리 공간이 남아나지 않겠찌..
오브젝트 풀링은 이를 피하기 위해 Pool이라는 공간에 해당 객체를 설정된 개수만큼 미리 생성해 둔 다음, 작업이 일어날 때 해당 공간에서 꺼내서 사용한 후, 작업이 종료되면 다시 Pool에 객체를 반납하여 재사용한다. 따라서 일정 객체 수 이상 생성되지 않아 리소스 고갈의 리스크를 줄이면서 효율적으로 사용할 수 있다.
다만, 미리 객체를 생성해두기 때문에 해당 객체들이 사용되지 않아도 메모리에 할당이 되어있게 된다. 그렇게 때문에 너무 많이 생성해놓아도 쓸데없이 메모리 공간을 차지하게 되기 때문에 이를 조절하여 사용하는 것이 효율적이다.
참조 :
https://luv-n-interest.tistory.com/783
Object Pooling, 오브젝트 풀링, 디자인 패턴 [Game Development]
게임을 조금 더 개발자의 입장에서 용이하게 만들어주는 디자인 패턴인 오브젝트 풀링에 대해서 알아보자 **딱히 어떠한 게임엔진에 국한된 패턴은 아니다. 그냥 ~한 개념이다. 우선 오브젝트
luv-n-interest.tistory.com