어려울 거 같아서 미뤄뒀던 프로그래밍 공부 이번에 숨 딱 참고 Java 다이브 💦
소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 발생했을 때 재사용할 수 있는 해결책을 뜻해요.
프로그램 내의 여러 곳에서 반복적으로 사용되어야 하는 객체에 대해 전역적인 범위를 갖도록 객체를 생성하고, 이 객체를 여러 곳에서 공유하기 위한 클래스 작성 패턴이에요. 이러한 패턴을 통해 생성된 객체를 싱글톤 객체라고 해요.
public class Calc {
//-------싱글톤 객체 생성을 위한 준비 시작
private static Calc current;
// 객체가 할당되지 않은 경우에만 할당하도록 하여 중복 할당을 방지한다.
public static Calc getInstance() {
if( current == null ) {
current = new Calc();
}
return current;
}
// 객체에 null 대입하면 메모리에서 삭제된다.
public static void freeInstance() {
current = null;
}
// 기본 생성자를 private 형태로 정의하면 객체 생성자가 은닉 처리되어
// 외부에서 new 연산자를 사용한 객체할당이 금지된다.
private Calc(){
}
//-------싱글톤 객체 생성을 위한 준비 끝
public int plus(int x, int y) {
return x + y;
}
public int minus(int x, int y) {
return x - y;
}
}
getInstance() 메소드를 통해 객체를 불러올 수 있어요.
public class Main02 {
public static void main(String[] args) {
Calc c = Calc.getInstance();
int e = c.plus(20, 10);
System.out.println(e);
System.out.println(Calc.getInstance().minus(20, 10));
}
}
다음 다이브에서 또 만나요 🌊
출처
https://media.giphy.com/media/l2Je1bFuOpkNpyqYM/giphy.gif
https://media.giphy.com/media/Jbb3KS22397YQ/giphy.gif