객체를 생성하는 방법을 추상화하여 객체를 생성, 조합 및 표현하는 방법을 정의한다. 패턴의 생성과 초기화를 다루기 때문에, 프로그램의 유지 보수성과 확장성을 향상시키는데 도움이 된다.Singleton(싱글톤) : 전역 변수를 사용하지 않고 단 하나의 인스턴스를 생성하