프로그래밍 언어/JAVA
JAVA Singleton(싱글톤)
JinCode
2018. 11. 5. 16:43
JAVA Singleton(싱글톤)
전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우. 단 하나만 생성된다고 해서 이 객체를 싱글톤 이라고 한다.
싱글톤을 만들경우 외부에서 new 연산자로 생성자를 호출할 수 없도록 만들어야 한다.
- 생성자 앞에 private 접근 제한자를 붙여주며.
- 외부에서 호출할 수 있는 정적 메소드를 선언한다.
Singleton.class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package Singleton; public class Singleton { //사진의 객체 private static Singleton singleton = new Singleton(); //생성자 private Singleton() {}; static Singleton getInstance() { return singleton; } } | cs |
SingletonExample.class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package Singleton; public class SingletonExample { public static void main(String[] args) { /* Singleton s1 = new Singleton(); //컴파일 에러 Singleton s2 = new Singleton(); //컴파일 에러 */ Singleton s1 = Singleton.getInstance(); Singleton s2 = Singleton.getInstance(); if (s1 == s2) { System.out.println("같은 객체 입니다." + "\n s1 : " + s1 + "\n s2 : " + s2); } else { System.out.println("다른 객체 입니다." + "\n s1 : " + s1 + "\n s2 : " + s2); } } } | cs |
결과