Java

싱글턴(Singleton) 패턴

탱구천사 2010. 3. 16. 09:11

//싱글턴 패턴은 해당 클래스의 인스턴스(instance)가 하나만 만들어지고, 어디서든지 그 유일한 인스턴스에 접근할 수 있도록 하기 위한 패턴으로 정의된다.

class Singleton
{
 private static Singleton instance;
 
 private Singleton() // 반드시 접근제한자를 둔 생성자 생성 - 디폴트 생성자 X
 {
  
 }
 public static Singleton getInstance()
 {
  if (instance == null)   // instance 값이 null 값 이면 인스턴스가 생성 안됨
  {
   instance = new Singleton(); // 인스턴스가 없으면 private로 선언된 생성자를 이용하여 객체를 만듬
  }
  return instance;
 }
 public void methodA()
 {
  System.out.println("Singleton pattern");
 }
}
public class SingletonTest
{
 public static void main(String[] args)
 {
  Singleton s1 = Singleton.getInstance();
  Singleton s2 = Singleton.getInstance();
  Singleton s3 = Singleton.getInstance();
  Singleton s4 = Singleton.getInstance();
  Singleton s5 = Singleton.getInstance();
  
  System.out.println(s1 + "," + s2 + "," + s3);
  
  s1.methodA();
 }
}