싱글톤 singleton 패턴 - 자바스크립트 예제

SW설계디자인패턴
읽는데 3분 소요
처음 쓰여진 날: 2025-09-02
마지막 수정일: 2025-09-02

요약

객체지향 프로그래밍의 핵심, GoF(Gang of Four) 디자인 패턴 중 생성 패턴인 싱글톤(Singleton)을 자바스크립트 코드와 함께 알아봅니다. 정처기 실기 대비를 위한 주관식 문제가 포함되어 있습니다.

싱글톤 패턴 요약

패턴 종류핵심 키워드
싱글톤 (Singleton)한 클래스에 단 하나의 객체만 존재하도록 강제
싱글톤 패턴 감자
싱글톤 패턴 감자

싱글톤 (Singleton) 패턴

싱글톤 패턴은 이름 그대로, 한 클래스에 단 하나의 객체만 존재하도록 강제하는 디자인 패턴입니다. single이라는 단어에서 알 수 있듯, 인스턴스가 유일하다는 것이 핵심입니다.

기본 구조

클래스 기반 언어에서 싱글톤은 보통 다음과 같이 구현합니다.

javascript
코드 하이라이팅 중...

new Singleton()을 두 번 호출했지만, 변수 ab는 정확히 동일한 인스턴스를 참조합니다. 🎯

언제 필요할까?

애플리케이션 전역에서 공유되어야 하는 자원이 있을 때 유용합니다. 대표적인 예로 로그 수집기(Logger) 가 있습니다.

만약 Logger 인스턴스가 여러 개라면 로그가 분산되어 기록되는 문제가 발생할 수 있습니다. ⚠️

javascript
코드 하이라이팅 중...

이 문제를 해결하기 위해 Logger에 싱글톤 패턴을 적용하면, 여러 곳에서 인스턴스를 생성하더라도 실제로는 단 하나의 인스턴스만 사용하게 되어 로그를 중앙에서 관리할 수 있습니다.

javascript
코드 하이라이팅 중...

💡 싱글톤 패턴 중요 키워드

  • 클래스에 오직 한 인스턴스만 존재하도록 강제한다.

정보처리기사 기출 문제