[C#] 26. 오브젝트 풀

Connected Brain·2025년 4월 25일

면접 질문 대비

목록 보기
26/60

오브젝트 풀을 사용하면 메모리 관리에 도움이 되는 이유가 무엇일까요?

한 줄 요약

오브젝트 풀 : 여러 오브젝트가 자주 생성/소멸 되는 상황에 매번 새로운 객체를 생성하는 것은 비용이 큼. 그러므로 소멸되어야할 때 이를 비활성화하지만 참조는 유지하고, 이후 생성시 비활성화된 객체 중에서 하나를 활성화해 사용하여 메모리 할당 및 해제에서 빈도를 줄일 수 있음

오브젝트 풀

  • 오브젝트 풀이란 자주 생성/소멸되어야하는 객체를 매번 사용 시에 생성, 소멸 하는게 아니라 미리 비활성화된 상태로 만들어두고 사용시에 해당 비활성화된 객체를 활성화해 사용하는 것이다.
  • 이는 힙 영역에 메모리 할당을 여러 번 실시하지 않고, 이미 할당된 객체를 참조해 여러 번 재사용함으로써 메모리 할당 회수 및 GC 발생을 줄일 수 있다.
  • 다만 미리 비활성 상태의 객체를 만들기 때문에 더 많은 메모리 공간을 사용하는 측면이 있지만, GC 발생으로 인한 프로그램 중단과 메모리 할당/해제로 인한 비용을 고려해 프로젝트의 특성에 따라 활용 여부를 결정하는 것이 필요하다.

0개의 댓글