호빵의 IT 개발소

오브젝트 풀링(Object Pooling)이란? 본문

CS(전공지식)/기술면접 준비

오브젝트 풀링(Object Pooling)이란?

호빵Stack 2025. 4. 3. 19:17

오브젝트 풀링 (Object Pooling)

  • 오브젝트 풀링은 필요한 오브젝트를 매번 새로 생성/삭제하지 않고,미리 만들어둔 객체를 재사용하는 디자인 패턴.
  • 자주 생성되고 파괴되는 객체(총알, 이펙트 등)에서 GC(가비지 컬렉션) 부담을 줄이고, 성능을 향상시킴.
  • 일반적으로 풀에 보관, 사용 시 꺼내고, 사용 완료 후 다시 반납하는 방식.
  • 게임 서버에서는 네트워크 패킷, DB 연결 객체, 세션 객체 등에도 사용 가능.

 

 

면접 스타일 답변 예시:

오브젝트 풀링은 반복적으로 생성되고 파괴되는 객체들을 미리 생성해두고 재사용하는 방식입니다.
게임에서는 예를 들어 총알, 몬스터, 이펙트 같은 객체가 짧은 시간 동안 자주 생성되고 파괴되는데
이걸 매번 new/delete 또는 new/GC 처리하면 퍼포먼스가 크게 저하될 수 있습니다.
이 문제를 해결하기 위해 객체를 미리 생성해 풀에 저장해두고
필요할 때 꺼내서 사용하고 사용 후엔 다시 풀에 반납하는 구조를 사용합니다.
서버 측에서도 예를 들어 패킷 객체나 DB 연결, 메모리 버퍼 등을 풀링하면
불필요한 메모리 할당을 줄이고 성능과 안정성 모두 개선할 수 있습니다.

'CS(전공지식) > 기술면접 준비' 카테고리의 다른 글

리플렉션(Reflection)이란?  (0) 2025.04.03
이벤트(Event)란?  (0) 2025.04.03
상속 (Inheritance)이란?  (1) 2025.04.02
인터페이스(Interface)란?  (0) 2025.04.01
람다식(Lambda)이란?  (0) 2025.04.01
Comments