공유 풀(메모리 풀) 미리 형성하여 참조하는 개체를 처음에 사용할 때 저장한 뒤, 그 이후에 사용할 때에는 저장해 둔 데이터를 사용하여 메모리 절약하는 패턴이다. 이 패턴은 많은 수의 객체를 생성할 때 주로 쓰인다. 대표적인 예로는, 게임에서 숲이나 유닛, 지형 등 환경 오브젝트와 같이 서로 비슷한 요소를 가지면서 많은 객체를 필요로 할 때 사용된다. 메모리 풀은 일정 갯수의 데이터 공간을 정해두고, 그 공간만큼 사용할 데이터를 저장하여 사용한다. 메모리 풀이 가득차게 되면 지정해 둔 알고리즘을 통해 데이터를 삭제하고 추가하거나 참조만으로 사용한다. 구조 ▷FlyweightFactory: 공유 객체 풀을 관리하는 팩토리 클래스 ▷Flyweight: 공유 객체에 대한 구현 클래스 시나..