FlyWeight 패턴 생성 비용이 큰 객체를 공통으로 사용할 수 있도록 만드는 패턴. 중복 생성될 가능성이 높은 객체 동일한 리소스가 자주 사용될 가능성이 높다는 의미이므로, 공통자원 형태로 관리하는 편이 효율적이다 생성비용은 크지만 사용빈도는 낮은 객체 이런 경우 매리 객체를 생성해두는 건 낭비. 요청이 있을 때에만 생성해서 제공한다. FlyWeight 패턴은 위 두 가지 목적을 위해 존재함. 객체 생성을 담당하는 Factory 역할과 객체 관리 역할을 분리하는 편이 유용한 경우도 있으나, 일반적으로는 역할의 크기가 크게 다르지 않으므로 하나의 클래스 안에 있어도 무방하다. 장점 많은 객체를 생성할 때 생성시간 / 메모리소모를 줄일 수 있음 state pattern과 결합이 용이함 단점 개별 설정이 ..