플라이웨이트패턴1 디자인패턴 시리즈 10. 플라이웨이트 패턴 (Flyweight Pattern) 플라이웨이트 패턴 (Flyweight Pattern) 특정한 클래스의 인스턴스 하나로 여러 개의 가상 인스턴스를 제공한다. 코드에 적용해보기 '꿈의 마을'과 같은 도시 건설 게임을 만든다고 하자. 간단하게 나무를 심는 로직을 설계한다고 할 때 이 나무들을 각각 x, y 좌표를 가지고 있다. Tree 인스턴스에는 나무의 상태가 저장이 되며, display() 메소드에 x, y 좌표, 나이 등을 바탕으로 화면에 나무를 그린다. 각각의 속성을 그리는데 필요한 데이터가 x: 4byte, y:4byte라고 했을 때 하나의 나무를 그리면 최소 8byte이상을 차지한다. 이를 수백, 수천개 그린다면 어떨까, 나무를 그리면 그릴 수록 데이터를 많이 차지한다. 메모리는 한정적인 자원이기 때문에 수억개의 나무를 그리면 더.. 2023. 1. 24. 이전 1 다음