Contents
싱글톤 패턴의 장단점하나의 프로그램 내에서 하나의 인스턴스만 생성해야 하는 경우에 사용하는 패턴. 객체를 호출할 때 new 를 하지 않고, 정적 메서드 getInstance() 를 호출해서 사용한다.

싱글톤 패턴은 똑같은 인스턴스를 새로 만들지 않고 기존의 인스턴스를 사용하는 방식이다.
회사의 모든 직원이 하나의 자판기에서 커피를 뽑는 것과 같다.
class Single {
private static Single instance = new Single();
private void Single() {}
public static Single getInstance() {
return instance;
}
}
public class Sington {
public static void main(String[] args) {
Single s1 = Single.getInstance();
Single s2 = Single.getInstance();
System.out.println(s1);
System.out.println(s2);
}
}
싱글톤 패턴은 imstance 변수와 생성자 메서드에 private 를 걸어 외부에서 접근 할 수 없게 설정한다.
그리고 getInstance() 메서드를 만들어서 외부에서 사용하려고 할때 getInstance() 를 호출하는 방식으로 사용한다.

싱글톤 패턴은 getInstance() 호출이 반복적으로 이뤄져도 처음 생성된 객체를 동일하게 반환해준다.
싱글톤 패턴의 장단점
장점
- 최초 한번 new 를 통해 메모리에 띄우기 때문에 메모리 낭비를 줄이고, 생성된 변수를 사용하기 때문에 속도적인 측면에서도 유리
- 싱글톤 인스턴스가 static 으로 선언되었기 때문에 다른 클래스에서 접근하여 사용할 수 있다.
단점
- 멀티 스레드 환경에서 동시 접근 가능하기 때문에 스레드 간섭이 일어날 수 있다.
- 객체 간의 결합도가 높아져 유지보수가 어려워진다.
Share article