자 94번째 키워드인 '오브젝트 풀링'에 대해서 알아 볼 것이다.
유니티로 개발 할 때 사용했었 던 적이 있어서 접근이 쉬웠다.

오브젝트 풀링은 객체를 미리 생성해 두고, 필요할 때 재사용하는 자원 관리 기법이다.
프로그램이 시작되거나 특정 시점에 객체를 미리 생성하여 풀(Pool)에 보관한다.
객체가 필요할 때마다 풀에서 꺼내어 사용하며, 사용이 끝난 객체는 다시 풀에 반환되어 재사용된다.
새 객체를 생성하는 대신 풀에서 꺼내 재사용하기 때문에 메모리 할당과 해제를 줄일 수 있다.
게임 엔진: 게임에서 총알, 적, 파티클과 같이 자주 생성되고 파괴되는 객체를 오브젝트 풀링으로 관리하면 성능을 크게 향상할 수 있다.
서버 연결: 데이터베이스 연결 객체를 풀링하면 연결을 반복 생성/소멸하지 않고 필요한 순간에 풀에서 가져와 빠르게 사용할 수 있다.
스레드 풀: 여러 스레드를 미리 생성해 두고 필요할 때 활용하는 것으로, 서버가 동시에 여러 클라이언트 요청을 빠르게 처리하는 데 유리하다.
메모리 효율성 증가: 객체 생성 및 해제를 반복하지 않으므로 메모리 누수를 줄이고 자원을 효율적으로 사용한다.
성능 향상: 객체를 매번 생성할 때의 부하가 줄어 프로그램 속도가 개선된다.
메모리 사용량 증가 가능성: 너무 많은 객체를 미리 생성해 두면 오히려 메모리를 불필요하게 차지할 수 있다.
객체 관리의 복잡성 증가: 풀에서 객체를 제대로 반환하지 않으면 리소스가 낭비되거나 프로그램이 정상적으로 작동하지 않을 수 있다.