본문 바로가기

Java

Single Pattern


ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ cat src/pattern/SinglePattern.java
package pattern;

import java.util.Hashtable;

public class SinglePattern {

	private static SinglePattern single = new SinglePattern();
	private Hashtable map = new Hashtable();

	private SinglePattern(){ }

	public static SinglePattern getInstance(){
		return single;
	}

	public void setAttribute(Object key, Object value) {
		map.put(key, value);
	}

	public Object getAttribute(Object key) {
		return map.get(key);
	}
}
ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ cat src/pattern/SingleMain.java
package pattern;

public class SingleMain {
	public static void main(String[] args) {
		SinglePattern single = SinglePattern.getInstance();
		single.setAttribute("main", new SingleMain());

		Object a = single.getAttribute("main");
		Object b = single.getAttribute("main");

		System.out.println("Object a :"+a);
		System.out.println("Object b :"+b);
		System.out.println(a == b);
	}
}


ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ javac -d bin src/pattern/*.java
ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ tree
.
├── bin
│   └── pattern
│       ├── SingleMain.class
│       └── SinglePattern.class
├── lib
└── src
    └── pattern
        ├── SingleMain.java
        └── SinglePattern.java

5 directories, 4 files
ihongjun@ihongjun-ui-iMac:~/Funny/java/Pattern$ java -cp bin pattern.SingleMain
Object a :pattern.SingleMain@579a19fd
Object b :pattern.SingleMain@579a19fd
true

'Java' 카테고리의 다른 글

Javadoc 사용법  (0) 2014.12.31
Java 내부클래스(Inner Class)  (0) 2014.12.24
Java 캡슐화(Encapsulation)  (0) 2014.12.24
Java Class 접근제한자  (0) 2014.12.23
Java 라이브러리 사용  (0) 2014.12.18