디자인 패턴/디자인 패턴

[디자인 패턴] - 싱글톤 (Singleton) 패턴

MuscleDeveloper5683 2025. 2. 21. 18:33
728x90
SMALL

싱글톤 (Singleton) 패턴이란?

싱글톤 패턴(Singleton Pattern)은 클래스의 인스턴스를 하나만 생성하고, 어디서든 해당 인스턴스에 접근할 수 있도록 하는 디자인 패턴이다.

 

유니티에서는 게임 매니저, 사운드 매니저, 데이터 관리, UI 관리 등의 전역적인 객체를 관리할 때 주로 사용된다.

 

 

사용 예시 : 게임 매니저, UI 매니저

 

싱글톤 패턴의 핵심 요소 

  1. 단 하나의 인스턴스만 유지
    • 특정 클래스를 오직 하나의 인스턴스로 유지하고, 여러 개가 생성되지 않도록 방지한다.
  2. 어디서든 접근 가능
    • public static 변수를 이용해 다른 스크립트에서도 쉽게 접근할 수 있다.
  3. 중복 생성 방지
    • 기존 인스턴스가 존재하면 새로 생성되는 인스턴스를 제거해야 한다.

 

싱글톤 구현

 

 

 

 

 

 

 

 

⚠️ 싱글톤을 사용할 때 주의할 점 ⚠️

 

1. 너무 많은 싱글톤을 사용하지 말 것

  • 싱글톤을 남발하면 의존성이 증가하고 테스트가 어려워진다
    (예: GameManager, SoundManager, UIManager 등은 적절하지만 모든 클래스에 사용하면 안 됨.)

2.게임 오브젝트가 아닌 경우 MonoBehaviour를 상속하지 말 것

  • MonoBehaviour를 상속한 싱글톤은 반드시 게임 오브젝트로 존재해야 함.
  • 데이터 저장 클래스 같은 경우는 일반 C# 클래스로 구현하는 것이 좋음.

3. 멀티플레이 게임에서는 사용을 신중하게 할 것

  • 네트워크 환경에서는 각 클라이언트마다 싱글톤이 따로 존재할 수 있으므로 주의해야 함.

 

 

728x90