사진 출처: https://refactoring.guru/design-patterns/singleton

 

 

참고자료

 

 

 

클래스의 인스턴스, 즉 객체를 하나만 만들어 사용하는 패턴

 

 

# 싱글턴 패턴이란?

  • 인스턴스를 하나만 만들어 사용하기 위한 패턴
  • 오직 인스턴스를 하나만 만들고 그것을 계속해서 재사용한다.

 

커넥션 풀, 스레드 풀, 디바이스 설정 객체 등과 같은 경우 인스턴스를 여러 개 만들게 되면

불필요한 자원을 사용하게 되고, 또 프로그램이 예상치 못한 결과를 낳을 수 있다.

 

 

 

싱글턴 패턴 구현을 위해 필요한 세 가지

  • new를 실행할 수 없도록 생성자에 private 접근제어자를 지정한다.
  • 유일한 단일 객체를 반환할 수 있는 정적 메서드가 필요하다.
  • 유일한 단일 객체를 참조할 정적 참조 변수가 필요하다.

 

 

 

Singleton.java

 

 

Client.java

 

 

 

 

# 싱글턴 패턴의 특징

  • private 생성자를 갖는다.
  • 단일 객체 참조 변수를 정적 속성으로 갖는다.
  • 단일 객체 참조 변수가 참조하는 단일 객체를 반환하는 getInstance() 정적 메서드를 갖는다.
  • 단일 객체는 쓰기 가능한 속성을 갖지 않는 것이 정석이다.

 

반응형

+ Recent posts