자바(Java) 싱글톤(Singleton) 이란?
- IT 정보/개발관련
- 2017. 1. 19.
◎ 싱글톤(Singleton) 인스턴스
1. 싱글톤이란?
싱글톤 패턴은 하나의 프로그램 내에서 하나의 인스턴스만을 사용해야하는 상황에 주로 사용한다.
(어플리케이션 전체 영역에서 하나의 클래스의 단 하나의 인스턴스를 생성하는 것)
환경설정 관리 클래스나, 커넥션 풀과 같이 pool 형태로 관리되는 클래스로 주로 공통 클래스에 사용되는 것이 일반적이다.
2. 그렇다면 왜 사용할까?
예를 들어 사용자 정보를 처음에만 로딩해주는 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()를 호출해야만 한다.
출처 : http://mkil.tistory.com/199