1. Calcurator.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | public class Calcurator { /* * 싱글톤 목적 - 기능처리 * 객체 생성을 제한 -> 외부에서 객체 생성을 하지 못하게 한다. * 하나의 객체만 만들어서 사용 * 클래스에 속성을 구분하는 변수가 존재하지 않는다. * 클래스에 메서드만 존재 * * class AAA{ * ~~~~ * } * * new AAA(); * new AAA(); * new AAA(); * new AAA(); * new AAA(); * new AAA(); * * 객체를 여러개 생성하면 같은 기능만 수행하는 객체만 만드는것-> 불필요 * */ // 1. 다른 패키지나 다른 클래스에서 인스턴스 생성을 막는다. private Calcurator() { // 클래스 내부에서만 인스턴스 생성을 하겠다. } // 2. Calcurator 인스턴스 생성 // private : 외부 참조로 바꿀까봐 // static: 객체 생성하지 않아도 사용할 수 있도록 private static Calcurator c = new Calcurator(); // 3. 외부에서 인스턴스를 받을 수 있는 메서드 정의 // 프로그램 로딩될때 static 메서드 생성 public static Calcurator getInstance() { return c; } public int add(int num1, int num2) { return num1 + num2; } public int minus(int num1, int num2) { return num1 - num2; } } | cs |
2. SingletomMain.java
1 2 3 4 5 6 7 8 9 10 11 12 13 | import java.util.Calendar; public class SingletonMain { public static void main(String args[]){ Calcurator c = Calcurator.getInstance(); System.out.println(c.add(10, 20)); //Calendar 객체도 싱글톤으로 구현 Calendar cal = Calendar.getInstance(); } } | cs |
3. 실행 결과
'Develop > Java' 카테고리의 다른 글
Source not found (0) | 2018.07.16 |
---|---|
JDBC 프로그래밍 (0) | 2018.07.14 |
제네릭_생활코딩 (0) | 2018.05.07 |
stack 구현하기 (0) | 2018.05.06 |
07.이클립스 단축키 (0) | 2018.03.24 |
댓글