싱글톤패턴이란?

정의

생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. 

 

참조
주로 공통된 객체를 여러개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용된다.

 

예시

public class SingletonClass {

	private static SingletonClass si = null;
    	public int s_num;
	private SingletonClass() {}
    
	public static SingletonClass getInstance() {
		if(si == null) {
			si = new SingletonClass();
		}
		return si;
	}
}        

 

싱글톤패턴 사용 이유 

한번의 객체 생성으로 객체를 재사용 함으로써 메모리 낭비 방지

데이터 공유의 편리성

 

다른 클래스에서 접근 예시

public class MyClass {
	private int number;
	
	public MyClass() {
		number = 256;
	}

	public int getNumber() {
		return number;
	}
	// SingletonClass 객체 생성
	public void method() {
		SingletonClass si = SingletonClass.getInstance();
		si.s_num = number; // 대입 0 <- 256
	}
}

 

출처 : 위키백과

 

+ Recent posts