
디자인 패턴 중 Flyweight 패턴에 대해 설명합니다. 설명 메모리 사용량을 줄이기 위해 여러 객체 간 공통적으로 사용하는 상태를 분리하여 공유하는 패턴입니다. 즉, 여러 객체에서 재사용할 수 있는 부분을 캐싱하여 최적화하는 것입니다. 다음과 같은 상황에서 적용하면 유용합니다. 애플리케이션이 많은 양의 유사한 객체를 필요로 합니다. 그로 인해 메모리 사용량이 높습니다. 이 객체들간 중복된 상태가 존재합니다. 이를 분리하여 여러 객체에 공유할 수 있습니다. Flyweight 패턴은 객체에서 Mutable 데이터와 Immutable 데이터로 나누어 분리하게 됩니다. Mutable 데이터는 Extrinsic state로, Immutable 데이터는 Intrinsic state라고 불립니다. Flyweigh..