싱글톤 패턴이란?
프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴
static 변수, 메서드를 활용하여 아래와 같이 구현 할 수 있습니다.
public class Company {
private static Company instance = new Company();
private Company() {
};
public static Company getInstance() {
if (instance==null)
instance = new Company();
return instance;
}
}
public class Test {
public static void main(String[] args) {
Company c1 = Company.getInstance();
Company c2 = Company.getInstance();
if (c1 == c2) {
System.out.println("This is singleton Pattern");
}
}
}
싱글톤 패턴 만들 시 guideline
1. 기본 생성자를 private으로 설정하였기 때문에 외부에서 해당 클래스의 인스턴스를
생성할 수 없다.
2. class에 인스턴스에 접근할 수 없는 static method를 만듦으로써 클래스의 메소드를
통해 미리 만들어진 인스턴스에 접근할 수 있다. 방어코드로 인스턴스가 없으면 인스턴
스를 만들어서 반환한다.
3. 결론적으로 new 연산자를 사용할 수 없게 만들었고 static 함수로 한개의 instance만
을 생성할 수 있도록 static method를 만들었다.