프로그램에서 단 하나만 생성되는 객체
조건1(생성자 제한)
new 연산자로 객체를 여러개 생성하는 것을 막아야함
생성자를 외부에서 호출할 수 없도록
생성자 앞에 private로 제한
조건2(필드)
클래스 내부에서만 객체를 생성하기 위해
외부에서 변경하지 못하도록 private를 붙인 다음
자신의 타입인 정적필드(static)를 선언하고
자신의 객체를 생성해서 초기화
조건3(메소드)
클래스 내에서 만들어진 하나의 객체를
외부에서 호출할 수 있게하는 메소드를 만든다
public class Singleton{
private static Singleton single = new Singleton();
private Singleton(){}
static Singleton getSingleton(){
return single;
}
}
public class SingletonTest{
public static void main(String[] args){
Singleton a = Singleton.getSingleton();
Singleton b = Singleton.getSingleton();
if(a==b){
System.out.println("같은 객체");
}
else{
System.out.println("다른객체");
}
}
}
'프로그래밍 > Java' 카테고리의 다른 글
상속 (0) | 2019.12.03 |
---|---|
final필드와 상수 (0) | 2019.12.03 |
정적 멤버, 메소드 (0) | 2019.12.03 |
메소드 (0) | 2019.12.03 |
this (0) | 2019.11.11 |