-
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();
와 같이 선언해서 객체화 시킬 수 있으며, 객체 선언시 메모리 영역은 항상 같은 곳을 사용하게 됩니다.
* 본 글은 글쓴이가 공부 중에 요약정리를 한 것임으로 틀린 내용이 있다면 즉시 수정하겠습니다.^^
'IT > Java & JSP & FW' 카테고리의 다른 글
struts2 :: 기본 설정 및 Hello 띄우기! (0) 2012.04.25 struts :: struts1 과 struts2의 큰 차이 (0) 2012.04.25 java :: 소켓 socket (2) 2012.03.23 java :: 자바 입출력 패키지 (2) 2012.03.22 java :: Thread Life cycle (생명주기) & synchronized (동기화) (0) 2012.03.21