Singleton

강성훈·2022년 5월 26일
0

Singleton pattern이란

싱글톤 패턴이란 이름 그대로이다. 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다.

싱글톤 패턴을 구현하는 방법은 여러가지가 있지만, 한 가지만 소개해 보겠다.

왜 사용하는 걸까

가장 첫번 째 장점을 메모리 측면일 것이다.
최초 한번의 new 연산자를 통해서 고정된 메모리 영역을 사용하기 때문에 추후 해당 객체에 접근할 때 메모리 낭비를 방지할 수 있다. 뿐만 아니라 이미 생성된 인스턴스를 활용하니 속도 측면에서도 이점이 있다고 볼 수 있다.
또 다른 장점으로는 다른 클래스 간에 데이터 공유가 쉽다는 것이다. 싱글톤 인스턴스가 전역으로 사용되는 인스턴스이기 때문에 다른 클래스의 인스턴스들이 접근하여 사용할 수 있다.

문제점

먼저 싱글톤 패턴을 구현하는 코드 자체가 많이 필요하다
또한 테스트하기 어렵다는 것이다. 싱글톤 인스턴스는 자원을 공유하고 있기 때문에 테스트가 결정적으로 격리된 환경에서 수행되려면 매번 인스턴스의 상태를 초기화시켜주어야 한다. 그 외에도 문제점이 몇 가지 더 존재한다.

profile
주니어 엔지니어

0개의 댓글