티스토리 뷰

 

 

 

싱글톤 패턴이란?

오직 하나의 인스턴스만 생성해 재사용하기 위한 소프트웨어 디자인 패턴

 

싱글톤 오브젝트 : 게임 매니저, 오디오 매니저 등 게임 내에서 유일하게 오직 하나만 존재하는 오브젝트

 

싱글톤 패턴의 특징 : 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 어디서든지 그 인스턴스에 접근이 가능

 

 

 

아래는 유니티에서 사용되는 싱글톤 패턴의 예제이다.

 

 

 

 

public class GameManager : MonoBehaviour
{
    public static GameManager instance;

    void Awake()
    {
        if (instance)
        {
            Destroy(gameObject);
            return;
        }
        instance = this;
        DontDestroyOnLoad(gameObject);
    }
}

 

이런 식으로 구현하면 GameManger 오브젝트는 게임 내부의 모든 곳에서 GameManger.instance로 접근할 수 있고, 중복 없이 오직 하나의 객체로 유지된다.

 

 

 

싱글톤 패턴의 단점 : 싱글톤 인스턴스가 다른 인스턴스들과 많은 데이터를 공유할 경우 다른 클래스 인스턴스들 간에 결합도가 높아져 OCP(Open-Closed-Princple : 개방 폐쇄 원칙)를 어기게 된다. 또한 싱글톤 인스턴스는 게임이 게임이 종료될 때까지 계속해서 메모리를 점유하고 있으므로, 너무 많은 싱글톤 인스턴스의 사용은 게임 최적화에 방해가 된다.

 

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함