Design Pattern(설계패턴)
Singleton pattern
어플리케이션 전체에서 객체 한개만 생성해서 사용하는 패턴
객체 한개를 공유해서 사용
두개 만들면 데이터의 동기화가 어려운 경우
SingletohObject.java
xxxxxxxxxx
package com.util;
/***
* Singleton Pattern이 적용된 Class
* 객체 생성을 한번만 수행하고 그 이후로는 생성된 객체 공유
*
* Singleton Pattern 객체 조건
* 1. field : private, static 자기자신 객체(instance)
* 2. 생성자 : private
* 3. getInstance() : 객체를 생성해서 리턴해주는 static method가 반드시 있어야 한다.
*/
public class SingletonObject {
private static SingletonObject instance ;
private SingletonObject() {}
public static SingletonObject getInstance() {
if(instance == null) {
instance = new SingletonObject();
}
//한번 생성된 후에는, 만들어진 객체를 계속 리턴한다.
return instance;
}
public void print() {
System.out.println("hello, print");
}
}
SingletohObjectUser.java
package com.util;
public class SingletonObjectUser {
public static void main(String[] args) {
SingletonObject o1 = SingletonObject.getInstance();
SingletonObject o2 = SingletonObject.getInstance();
SingletonObject o3 = SingletonObject.getInstance();
o1.print();
o2.print();
o3.print();
}
}