- 디자인 패턴이란 기존 환경 내에서 반복적으로 일어나는 문제들을 어떻게 풀어나갈 것인가에 대한 일종의 솔루션 같은 것이다.
- 디자인 패턴은 설계자들이 "올바른" 설계를 "빨리"만들 수 있도록 도와준다.
1. Singleton 패턴
- 프로그램 내의 여러 곳에서 반복적으로 사용되어야 하는 객체에 대해 전역적인 범위를 갖도록 객체를 생성하고, 이 객체를 여러 곳에서 공유하기 위한 클래스 작성 패턴
- 이러한 패턴을 통해 생성된 객체를 "싱글톤"객체라고한다.
1-1. Singleton 패턴의 이점
- 프로그램의 전역에서 활용할 재료로 사용되는 공유 기능을 하나만 생성하여 여러 곳에서 재사용 함으로 해서 메모리를 효율적을 사용할 수 있다
- 단 한번만 객체를 생성하면 다시 객체를 생성할 필요가 없기 때문에, 해당 기능을 사용할 때마다 객체를 일일이 생성해야 하는 번거로움을 피할수 있다.
1-2. Singleton 패턴의 예시
private static Calc2 current;
public static Calc2 getInstance() {
if ( current == null ) {
current = new Calc2();
}
return current;
}
// 객체에 null을 대입하면 메모리에서 삭제된다.
public static void freeInstace() {
current = null;
}
private Calc2(){
super();
}
public int plus (int x, int y) {
return x+y;
}
public int minus (int x, int y) {
return x-y;
}
public int times (int x, int y) {
return x*y;
}
public int devide (int x, int y) {
return x/y;
}