[Java] 싱글톤 패턴 (Singleton pattern)

2023. 4. 10. 14:19·Java/Design Pattern
728x90
728x90

#  관련 포스팅

  - Static 키워드 : https://young0105.tistory.com/40

 


싱글톤 패턴 (Singleton pattern)

  - 모든 프로그램을 통틀어서, 해당 클래스의 객체가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴

  - '생성' 디자인 패턴

  - static 키워드를 활용하여 구현 가능

  - 코딩 컨벤션

      : 싱글톤 패턴을 구현하기 위한 메서드 이름은 'getInstance'를 자주 사용함

  - 한 번 생성되면, 어떤 java 파일에서든 동일한 객체 하나만 공유하며 사용하게 됨

      → 항상 같은 객체임을 보장함

 

// 예시 //

public class Company {
    // 1. 생성자를 private으로 선언함
    private Company() {}

    // 2. private, static, 자신의 데이터타입(Company)을 가진 변수를 선언함
    private static Company company;

    // 3. 외부에서 접근 가능한 public, static 메서드를 만듦
    public static Company getInstance() { 
        // 4. 2번에서 선언한 변수가 null이면 새 객체를 생성함
        if (company == null) {
            company = new Company(); 
      
        } // 변수에 이미 객체의 주소 값이 존재하면 객체를 생성하지 않고 그냥 변수를 반환함
        return company;
    }

} // 결론 : 객체가 단 하나만 생성되는 싱글톤 패턴

 

320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

'Java > Design Pattern' 카테고리의 다른 글

[Java] 옵저버 패턴 (Observer pattern)  (0) 2023.04.11
[Java] 전략 패턴 (Strategy pattern)  (0) 2023.04.11
[Java] 어댑터 패턴 (Adapter pattern)  (0) 2023.03.27
[Java] 디자인 패턴 정리  (0) 2023.03.27
[Java] 빌더 패턴 (Builder pattern)  (0) 2023.03.23
'Java/Design Pattern' 카테고리의 다른 글
  • [Java] 옵저버 패턴 (Observer pattern)
  • [Java] 전략 패턴 (Strategy pattern)
  • [Java] 어댑터 패턴 (Adapter pattern)
  • [Java] 디자인 패턴 정리
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (384)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (9)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • etc. (13)
      • Error Note (16)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    http
    HTML
    Hotkeys
    js
    SEO
    SpringBoot
    git
    errorNote
    C#
    면접
    php
    Android
    SWAGGER
    typeScript
    vuejs
    java
    cs
    Codeigniter
    티스토리챌린지
    Swing
    개발일지
    tailwindcss
    오블완
    CSS
    jQuery
    zapier
    SQL
    Wordpress
    jsp
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[Java] 싱글톤 패턴 (Singleton pattern)
상단으로

티스토리툴바