Singleton : 애플리케이션에서 하나의 객체만 존재하도록 보장하여, 객체를 재사용하고 자원의 낭비를 방지하는데 사용된다. 왜 사용 하는가 : 객체가 여러 번 생성되는 것을 방지하고, 애플리케이션 전체에서 하나의 인스턴스를 공유하기 위해 Flyweight : 객체의 공유를 통해 메모리 사용을 최적화하는 디자인 패턴 왜 사용 하는가 : 메모리낭비를 막기위해 사용, 불필요한 객체를 생성하지 않고 이미 만들어진 객체를 재활용 하기 위해 Prototype(복제) : 객체를 복사하여 사용하는 것 왜 사용 하는가 : 객체의 공유를 막고, 각 객체의 독립적인 상태를 유지하기 위해 하나의 객체를 여러 군데에서 공유해서 사용하면 이 객체의 상태가 공유되기 때문에 다른 곳에서의 상태 변화가 모든 곳에 영향을 미치게..