취준/기술면접
오브젝트 풀링(Object Pooling)
빵어
2024. 11. 14. 19:29
오브젝트 풀링
Object Pooling
프로그램에서 사용하는 객체를 미리 생성해 '풀(Pool)'이라는 컬렉션에 저장해 필요할 때 재활용하는 디자인 패턴
객체를 자주 생성하고 파괴하는 과정에서 발생하는 성능 저하를 방지하기 위해 사용한다
작동 방식
일정량의 객체를 미리 생성한 후 비활성화해 풀에 저장한다
필요할 때마다 비활성화된 객체를 활성화해(꺼내서) 사용한다
사용이 끝났을 때, 다시 비활성화해 풀에 넣는다
장점
객체를 생성하고 파괴하는 과정에서 나타나는 메모리 할당과 해제에 대한 부하를 줄일 수 있다
미리 생성한 객체를 재활용하기 때문에, 가비지 컬렉션의 타겟이 아니다
가비지 컬렉션의 호출을 최소화할 수 있기 때문에 성능을 향상시키며, 프레임 드랍을 방지한다