즉, 메모리 절약을 위해 인스턴스가 필요할 때 똑같은 인스턴스를 새로 만들지 않고 기존의 인스턴스를 가져와 활용하는 기법
public class 클래스 {
// private 접근 권한을 갖는 정적 필드 선언과 초기화
public class 클래스 singleton = new 클래스();
// private 접근 권한을 갖는 생성자 선언
private 클래스 () {}
// + 같은 class 안에서는 private 로 선언해도 생성자를 호출할 수 있다.
// public 접근 권한을 갖는 정적 메소드 선언
// 외부에서는 getInstance() 로 instance 를 반환한다.
public static 클래스 getInstance() {
return singleton;
}
}
클래스 변수1 = 클래스.getInstance();
클래스 변수2 = 클래스.getInstance();
// 다른 변수에 인스턴스를 할당받았지만, 주소 값을 찍어보면 두 변수 모두 같은 인스턴스를 할당받음