TIL

2024/4/26 TIL

jhwoo1221 2024. 4. 26. 20:58

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습
Q36. 오브젝트 풀링(Object Pooling)이 무엇이며, 어떻게 구현하는지 설명해주세요.

A36.
오브젝트 풀링(Object Pooling)은 프로그래밍에서 자주 사용되는 디자인 패턴 중 하나다. 
오브젝트 풀링은 오브젝트(객체)를 미리 생성하고 필요할 때마다 가져와 재사용함으로써 
객체 생성 및 소멸에 따른 오버헤드를 줄이는 데 목적이 있다.
오브젝트가 생성되고 파괴되는 자체로 부하가 발생할 수 있기 때문에,
이 방식은 메모리 효율 뿐만 아니라 CPU 효율에도 긍정적인 영향을 줄 수 있다.

간단한 예로, 게임에서 총알을 오브젝트 풀링을 사용하여 관리할 수 있다.
게임 시작 시에 총알 오브젝트를 일정량 미리 생성해두고, 총알이 필요할 때마다 풀에서 가져와 사용한 후에는 다시 풀에 반환한다. 
이렇게 함으로써 총알 오브젝트를 매번 생성 및 소멸하는 비용을 피할 수 있다.

오브젝트 풀링을 구현하는 일반적인 단계는 다음과 같다.

1. 오브젝트 생성: 초기화 및 설정이 완료된 일정량의 오브젝트를 생성한다.
2. 풀에 오브젝트 저장: 생성된 오브젝트를 리스트 또는 다른 데이터 구조에 저장한다.
3. 오브젝트 요청: 필요할 때 오브젝트를 요청한다.
4. 사용 가능한 오브젝트 반환: 요청한 오브젝트를 사용한 후에는 다시 풀에 반환한다.

'오늘의 나는 무엇을 잘했는지' - 성취

대분류 : 최종 팀 프로젝트 - 클라이언트 구현

소분류 : UI 에셋 배치 / 스킬 및 특성 아이콘 재배치

UI 기능은 구현됐지만 꾸미기 및 디자인 작업이 덜 되어있어서 크기 조절 / 스프라이트 추가 등 꾸미기 작업을 했다.

 


'오늘의 나는 어떤 문제를 겪었는지, 앞으로 어떻게 해결할 것인지' - 개선

-