본문 바로가기
Internship

싱글턴 패턴(Singleton Pattern)

by Doromi 2019. 4. 24.
728x90
반응형

싱글턴 패턴이란?

 

전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며,

생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴

 

'생성 패턴'의 하나

 

Singleton

하나의 인스턴스만을 생성하는 책임이 있다.
getInstance 메소드를 통해 모든 클라이언트에게 동일한 인스턴스를 반환하는 작업을 수행

 

 


 

 

싱글톤 패턴을 쓰는 이유

고정된 메모리 영역을 얻으면서 한번의 new 로 인스턴스를 사용하기 때문에

메모리 낭비를 방지할 수 있다.

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

DBCP(DataBase Connection Pool)처럼 공통된 객체를 여러개 생성해서
사용해야 하는 상황에서 많이 사용.

각 액티비티나 클래스 별로 주요 클래스들을 일일이 전달하기가 번거롭기 때문에
싱글톤 클래스를 만들어 어디서나 접근하도록 설계하는 것이 편하다.

 


 

 

싱글톤 패턴의 문제점

 

싱글톤 인스턴스가 너무 많은 일을 하거나 많은 데이터를 공유시킬 경우
다른 클래스의 인스턴스들 간에 결합도가 높아져 "개방-폐쇄 원칙"을 위배하게 된다.

따라서 수정이 어려워지고 테스트하기 어려워진다.

728x90
반응형

'Internship' 카테고리의 다른 글

var vs let  (0) 2019.05.04
scope와 closures  (0) 2019.05.04
프로미스  (0) 2019.05.04
디자인 패턴  (0) 2019.05.04
1. 깃&소스트리 사용법  (1) 2018.03.13