싱글톤(Singleton) 인스턴스
1. 싱글톤이란?
싱글톤 패턴은 하나의 프로그램 내에서 하나의 인스턴스만을 사용해야하는 상황에 주로 사용된다.
(어플리케이션 전체 영역에서 하나의 클래스의 단 하나의 인스턴스를 생성하는 것!)
환경설정 관리 클래스나, 커넥션 풀과 같이 pool 형태로 관리되는 클래스로 주로 공통 클래스에
사용되는 것이 일반적이다.
2. 그렇다면 why(왜) 사용할까 ??????????
예를들어 사용자 정보를 처음에만 로딩해주는 UserManager 가 있다고 치면, 매번 이 인스턴스를
생성하는 것은 자원 낭비 또는 인스턴스가 꼬이는 일이 생길 수도 있다.
3. 싱글톤 구현
싱글톤 구현에서 주의 깊게 보아야 될 부분은 생성자를 Private로 생성하여,
다른 외부 클래스에서 싱글톤 클래스를 new로 구성하지 못하게 하는 부분이다.
/** * 싱글톤 인스턴스 */ private static UserManager INSTANCE = null; /** * 생성자를 private으로 선언하여 new 키워드 못 쓰게 함. */ private UserManager() { logger.debug("UserManager Initialized"); }
/** * 싱글톤 인스턴스를 반환한다. * @return popupManager */ public static UserManager getInstance() throws Exception { if ( INSTANCE == null ) INSTANCE = new UserManager();
return INSTANCE; } |
싱글톤 클래스의 인스턴스를 타 클래스에서 사용하기 위해서는
getInstance()를 호출해야만 한다.
'Language > Java' 카테고리의 다른 글
[Java] String to json arrayList 변환/ObjectMapper 사용 (0) | 2016.07.20 |
---|---|
[JAVA] List JSON 변환(Convert) /Jackson Lib 사용 (0) | 2016.07.07 |
[자바 기본 개념] Stream/ 예제 (0) | 2016.06.22 |
[자바 기본 개념] 컬렉션(Collection) - 정렬 / 활용예제 (0) | 2016.06.22 |
[자바 기본 개념] 컬렉션(Collection) - HashMap / 예제 (0) | 2016.06.22 |