개발방법론!!
-어플리케이션을 개발하는 방법에 관련한 이론!!
여기에는 앞선 개발자 선배들의 노하우가 묻어있다.
갱단이라 불리는 4명의 사람들이..(GOF : Gang of four)
전세계적인 개발자들의 개발패턴을 조사하여 이 자료를 토대로 「디자인 패턴」이란교재를 출간..
개발자들의 개발 방법(=패턴)에 대해 명칭을 붙여 용어를 통일시켰다.
이 사람들이 이름을 붙인 패턴이 24~25이하 정도 됩니다.
=========================================================================================
전세계 개발자들이 많이 쓰는 패턴...그중에 1개
객체를 메모리에 한번만 올려 사용하는 패턴을 가리켜 싱글톤 패턴(=singleTon)이라 한다.
오늘은!!! 싱글톤 패턴에 대해 학습하자.
==========================================================================================
/*객체를 메모리에 단 한번만 올리는 싱글턴 패턴을 학습한다.
* 미국의 유명한 저서인 Desing Pattern이라는 책에서 개발자들의 개발 패턴마다 이름을 붙인데서 유래한다!! */package pool;
public class Dog {
/* Dog이라는 클래스를 메모리에 1번만 올리게 막아보자.
* 1.생성자를 private로 묶어라!! : 어느 누구도 new연산자를 사용하여, 객체를 올릴 수 없게 된다.
* 방어는 성공했으나 사용할수가 없네요.(근데 이렇게 하면 1번도 못 올라가겠네?'-';)*/
//private Dog(){;
/*2. 아무도 메모리에 못올라오게 막아놓고.. 살짝 열어줍니다.
* -맴버로 instance라는 변수에 dog을 담아주자. int i;랑 같은거죠?
* - get으로 받아오자.
* - static으로 올려 한개만 올라오게 해주자.*/
private static Dog instance; //static에 올려진 객체는 중복해서 생성되지 않는다!!는 특징을 이용.
private Dog(){
}public static Dog getInstance(){
if(instance == null) instance = new Dog();
/*3. null이면 내가 new해서 Dog만들어주자.
(1)private : 내가 제공해주는 메서드로만 가져와라.(외부 접근 못하게)
(2) null이면 내가 넣어주자. new해서 Dog()으로..*/
return instance;
}
}
이걸 사용하는 useDog.java
/*Dog을 사용 하는 클래스*/package pool;
public class UseDog {
public static void main(String[] args) {
Dog d1 = Dog.getInstance();
System.out.println(d1);
}
}
[출처] 개발방법론!! - 싱글톤 패턴|작성자 빛나
'Back-End > Java' 카테고리의 다른 글
자바 한글 초성/중성/종성 분리 & 영어로 변환하기 (2) | 2012.10.24 |
---|---|
JAVA split, StringTokenizer 다수의 구분자 사용 (0) | 2012.09.06 |
[Java] 자리수 맞추기 String.format() (0) | 2012.08.13 |
Apache Common유틸로 숫자난수 생성 (0) | 2012.07.18 |
JSON.simple 라이브러리를 이용한 Java에서 JSON 포맷 문자열 파싱 (0) | 2012.05.07 |