디자인 패턴/디자인 패턴
[디자인 패턴] - 싱글톤 (Singleton) 패턴
MuscleDeveloper5683
2025. 2. 21. 18:33
728x90
SMALL
싱글톤 (Singleton) 패턴이란?
싱글톤 패턴(Singleton Pattern)은 클래스의 인스턴스를 하나만 생성하고, 어디서든 해당 인스턴스에 접근할 수 있도록 하는 디자인 패턴이다.
유니티에서는 게임 매니저, 사운드 매니저, 데이터 관리, UI 관리 등의 전역적인 객체를 관리할 때 주로 사용된다.
사용 예시 : 게임 매니저, UI 매니저
싱글톤 패턴의 핵심 요소
- 단 하나의 인스턴스만 유지
- 특정 클래스를 오직 하나의 인스턴스로 유지하고, 여러 개가 생성되지 않도록 방지한다.
- 어디서든 접근 가능
- public static 변수를 이용해 다른 스크립트에서도 쉽게 접근할 수 있다.
- 중복 생성 방지
- 기존 인스턴스가 존재하면 새로 생성되는 인스턴스를 제거해야 한다.
싱글톤 구현
⚠️ 싱글톤을 사용할 때 주의할 점 ⚠️
1. 너무 많은 싱글톤을 사용하지 말 것
- 싱글톤을 남발하면 의존성이 증가하고 테스트가 어려워진다
(예: GameManager, SoundManager, UIManager 등은 적절하지만 모든 클래스에 사용하면 안 됨.)
2.게임 오브젝트가 아닌 경우 MonoBehaviour를 상속하지 말 것
- MonoBehaviour를 상속한 싱글톤은 반드시 게임 오브젝트로 존재해야 함.
- 데이터 저장 클래스 같은 경우는 일반 C# 클래스로 구현하는 것이 좋음.
3. 멀티플레이 게임에서는 사용을 신중하게 할 것
- 네트워크 환경에서는 각 클라이언트마다 싱글톤이 따로 존재할 수 있으므로 주의해야 함.
728x90