노벰버맨 2021. 12. 14. 21:26

가. 배경

-특정 클래스가 단지 하나의 객체만을 생성하는 것을 보장하고 외부 객체에게 해당 객체에 대한 용이한 접근을 제공할 필요가 있을 때 적용

 

나. 사용사례

-시스템 정보를 저장하는 레지스트리 설정 객체

-복수 작업 관리 쓰레드 풀 객체

-데이터베이스 연결 커넥션 풀 객체

-시스템 주요 제어 객체

 

다. 샘플 코드 및 클래스 다이어그램

public class OrderController {
        private static OrderController oc;


        private OrderController( ) {   };
        public static OrderController getOC( ) {
                if (oc == null) {
                        oc = new OrderController( ) ;
                }
                return oc;
        }
}