싱글톤 패턴은 소프트웨어 디자인 패턴이며, 생성자로 최초로 생성된 이후로 생성자가 여러 차례 호출해도 최초에 생성된 그 객체를 리턴한다(static)
즉, 객체가 여러개 생성되면 값이 변경될 위험이 있는 요청이 많은 곳에서 사용하면 효율적이다.
하나의 프린터기를 여러 사원이 공유하면서 사용하는 경우에 쓰는 싱글턴패턴
public class Printer {
private static Printer printer = null;
private Printer(){}
public static Printer getInstance() {
if(printer == null) {
printer = new Printer();
}
return printer;
}
public void print(String input) {
System.out.println(input);
}
}
싱글톤 패턴이 적용되는 예제이며, 기본 생성자를 private 키워드를 사용하여 생성을 못하게하고, getInstance()를 이용해 만약 생성되지않았다면(null), 생성하고, 인스턴스가 있으면 그 인스턴스를 리턴하는 형태이다.
메소드,인스턴스 변수 모두 statc이다.
기본 생성자를 못쓰기때문에 외부에서 인스턴스에 접근할려면 클래스 변수,메소드에 접근을 시켜줘야하기 때문에 이 두가지는 정적타입으로 해야한다.
문제점은 좀더 공부하고 나중에...