새소식

반응형
Java/Spring

싱글톤 패턴(Singleton)

  • -
반응형

싱글톤 패턴

어플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고 할당한 메모리만 이용하여 인스턴스를 만들어

사용하는 디자인 패턴이다.

 

인스턴스가 1개만 생성되는 특징을 가진 싱글톤 패턴을 이용하면 하나의 인스턴스를 메모리에 등록하고 여러 쓰레드가

동시에 해당 인스턴스를 공유하여 사용할 수 있기 때문에 많은 곳에서 사용하면 효율을 높일 수 있다.

 

싱글톤 패턴 장점

- 한번의 new 인스턴스로 할당한 고정된 메모리 영역만 사용하기 때문에 메모리 낭비를 방지할 수 있다.

- 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스들간 인스턴스 데이터를 공유하기 쉽다.

- 이미 생성된 인스턴스를 활요하다보니 속도 측면에서도 이점이다.

 

싱글톤 패턴 단점

싱글톤 인스턴스를 생성하고 생성된 많은 인스턴스 데이터를 공유시킬 경우 다른 클래스의 인스턴스들 간에

결합도가 높아져 "개방-폐쇄 원칙"을 위배하게 된다. 이러한 결합도로 인해 수정 및 유지보수가 어렵다.

또한 멀티쓰레드 환경에서 동기화 처리를 안하면 인스턴스가 2개가 생성될 가능성이 있다.

반응형

'Java > Spring' 카테고리의 다른 글

HTTP 다양한 통신 방법(URLConnection, RestTemplate, HttpClient, WebClient)  (0) 2022.04.27
Lombok  (0) 2022.04.27
Dynamic Web Project - Tiles Template 추가  (0) 2022.04.27
View Resolver(뷰 리졸버)  (0) 2022.04.27
Spring Filter  (0) 2022.04.27
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.