싱글톤 패턴
:객체 생성을 제한 -> 외부에서 객체생성을 못하게 한다
하나의 객체만 만들어서 사용
class AAA{
클래스에 속성을 구분하는 변수가 존재하지 않는다.
클래스에 메서드만 존재
}
필요할때마다
new AAA();
new AAA();
new AAA();
new AAA();
new AAA();
그러나 이것은 중복이다. 고로 하나만 만들어서 사용할 것이다
1.Calcurator.java-----------------------------------------------------------------------
package member;
public class Calcurator {
//1.다른 패키지나 다른 클래스에서 인스턴스 생성을 막는다.
//생성자 호출을 이 클래스에서만 하겠다.
private Calcurator() {
}
//2. Calcurator 인스턴스 생성(클래스 내부라서 가능)
private static Calcurator c = new Calcurator(); //(2)따라서, static을 붙여준다. (3)private을 붙여서 외부에서 변환하는 것을 막는다.
//3. 외부에서 인스턴스를 받을 수 있는 메서드 정의
public static Calcurator getInstance() {
return c; //(1)static 메서드에서 인스턴스 객체를 반환할 수 없다.
}
public int add(int num1, int num2) {
return num1+num2;
}
public int minus(int num1, int num2) {
return num1-num2;
}
}
2. SingletonMain.java
package member;
import java.util.Calendar;
public class SingletonMain {
public static void main(String[] args) {
Calcurator c = Calcurator.getInstance();
System.out.println(c.add(10, 10));
//java api 중 Singleton 이용
Calendar cal = Calendar.getInstance();
}
}
댓글 없음:
댓글 쓰기