설 연수
하하호홓
설 연수
전체 방문자
오늘
어제
  • 분류 전체보기 (231)
    • Back-End (2)
      • Java (20)
      • JSP (13)
      • Spring (18)
      • Kotlin (0)
      • node.js (0)
    • Front-End (68)
      • JavaScript (19)
      • jQuery (39)
      • Angular (4)
      • HTML (5)
    • Dev-Ops (12)
      • Linux, Cloud (5)
      • docker, k8s (5)
      • ElasticSeach (2)
    • Other (33)
      • OOP (3)
      • 알고리즘 (2)
      • DB (12)
      • Git (1)
      • Swift (4)
    • Backup (65)

블로그 메뉴

    공지사항

    인기 글

    태그

    • page not found
    • jquery invalid
    • Kafka
    • mongodb
    • angular 콜백
    • 패스트캠퍼스
    • CORS
    • angular callback
    • flex
    • Redis
    • angular2
    • jOOQ
    • 크로스도메인
    • RESTful
    • angular4
    • MYSQL
    • docker
    • Angular
    • INVALID
    • 404 error

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    설 연수

    하하호홓

    Back-End/Java

    개발방법론!! - 싱글톤 패턴

    2012. 8. 28. 16:38

    개발방법론!!
    -어플리케이션을 개발하는 방법에 관련한 이론!!
    여기에는 앞선 개발자 선배들의 노하우가 묻어있다.

     

    갱단이라 불리는 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
      'Back-End/Java' 카테고리의 다른 글
      • 자바 한글 초성/중성/종성 분리 & 영어로 변환하기
      • JAVA split, StringTokenizer 다수의 구분자 사용
      • [Java] 자리수 맞추기 String.format()
      • Apache Common유틸로 숫자난수 생성
      설 연수
      설 연수

      티스토리툴바