ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • java :: 싱글톤 패턴(Singleton Pattern)
    IT/Java & JSP & FW 2012. 4. 17. 11:49

    싱글톤 패턴이란!?

    싱글톤 패턴이란, 자주 사용되는 클래스를 객체 선언할 때 한번만 만들어지게 하는 방법입니다.


    일반적인 객체선언은 이렇습니다.

    A a=new A();

    이런식의 객체선언은 선언할 때마다 메모리에 새로운 영역을 할당시킵니다.


    A a=new A();

    A b=new A();

    A c=new A();

    A d=new A();

    .......

    a, b, c, d는 모두 다른 메모리를 가지게 되고 쓸모없이 메모리 영역 낭비를 하게 됩니다.


    이런 메모리 영역의 낭비를 줄이기 위해 일단 객체를 만들려고 하는 클래스의 생성자를 private 로 선언해서 접근하지 못하게 만듭니다.
    그런 다음 클래스 안에서 변수 하나를 private static 으로 선언하고 자신의 클래스를 객체화 시킵니다.
    그리고 public static으로 get 메소드를 만들어서 이 클래스가 객체화 될 때 메모리에 상주해 있도록 만듭니다.
    이런식으로 클래스를 만들게 되면, 이 클래스는 객체화 될 때에 항상 같은 메모리영역을 참조하게 됩니다.


    결론적으로 메모리의 효율이 좋아집니다.


    예제

    public class Dao {
    	private static Dao instance=new Dao();
    	
    	public static Dao getInstance(){
    		return instance;
    	}
    	
    	private Dao() {
    	}
    }
    


    싱글톤 패턴의 가장 기본적인 구조 입니다. 


    이런 싱글톤 패턴 클래스의 객체생성은

    Dao dao=Dao.getInstance();

    와 같이 선언해서 객체화 시킬 수 있으며, 객체 선언시 메모리 영역은 항상 같은 곳을 사용하게 됩니다.


    * 본 글은 글쓴이가 공부 중에 요약정리를 한 것임으로 틀린 내용이 있다면 즉시 수정하겠습니다.^^

Designed by Tistory.