brunch

You can make anything
by writing

C.S.Lewis

by eddward park Feb 28. 2021

Singleton Pattern

생성 패턴중 싱글톤 패턴에 대해서

피그마로 직접 그린 이미지


소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다.


위키에 정의된 싱글턴 패턴이다.


우리의 역사와 비교해 보면 한반도가 하나의 이름으로 불리운 고려, 조선 시대에는 한반도 영토를 두고 내부에서 전쟁을 벌인적은 없다.


한반도에 하나의 나라가 존재하면 영토와 관련한 문제가 발생하지 않지만 삼국시대와 같이 여러나라가 한반도에 존재한다면 반드시 전쟁이 뒤따른다는것을 역사적 사실을 통해 알 수 있다.


하나의 영토에 하나의 나라가 존재하면 영토 문제는 발생하지 않는다.



피그마로 직접 그린 이미지


우리가 가지고 있는 스마트폰에는 백라이트 조절, 음량 조절, 와이파이 연결등의 수많은 설정값이 있다.


또한 앱스토어에서 인스타그램, 페이스북, 스냅챗과 같은 앱들을 설치하여 사용을 하고 있다.


하나의 앱에서 음량조절을 해보면 다른 앱을 사용할때에도 변경한 음량 그대로 사용되는것을 볼수 있다.


싱글톤 패턴을 사용함으로써 얻는 이점은 메모리가 절약되고, 데이터 공유가 쉽다는 점이다.



피그마로 직접 그린 이미지

https://gist.github.com/kimmellj/92d8c231de8d4d682deb


위의 이미지는 싱글톤 패턴의 예제 코드이다.


코드 하단에 있는

console.log( "Are the two instances the same? " + (singleA === singleB) );

이 부분이 싱글톤을 잘 설명하고 있는 부분이다.


한번 생성된 인스턴스는 코드가 실행되는 동안 하나만 존재하는것을 볼 수 있다.


앞으로 여러분의 스마트폰 설정값을 변경할때 위의 내용들을 떠올리면 자연스럽게 싱글톤 패턴을 익힐수 있을거다.

매거진의 이전글 State Pattern
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari