본문 바로가기

프로그래밍/Unity3d

Unity3d 싱글톤(Singleton)패턴 사용하기, Unity 싱글톤, Unity3d 싱글톤

Unity3d 싱글톤(Singleton)패턴 사용하기, Unity 싱글톤, Unity3d 싱글톤


객체지향 프로그래밍을 공부하다보면 디자인 패턴이란 말을 들을 기회가 많습니다.

 

디자인 패턴이란 반복적으로 발생하는 어떤 문제에 대해 해법입니다.

 

"객체가 오직 하나인 문제"에 대한 해결책이 디자인 패턴의 예라 할 수 있으며 Singleton 패턴이라고 부릅니다.

 

다음은 Unity3d에서 Singleton패턴을 사용하는 법을 알아보겠습니다.

 

public class Manager : MonoBehaviour 
{   
    public static Manager _instance;
    public static Manager Instance
    {
        get
        {
            if (_instance == null)
            {
                _instance = FindObjectOfType(typeof(Manager)) as Manager ;

                if (_instance == null)
                    Debug.LogError("Not Found Manager !!");
            }
            return _instance;
        }
    }
}

 

저는 Manager 클래스를 만들어서 사용하였습니다.

 

우선 static으로 Manager 객체를 하나 만듭니다. 위에선 _instance로 선언을 하였습니다.

 

static으로 Instance라는 property를 만든 후 접근만 할 수 있도록 get부분에만 작성을 하였습니다.

 

_instance가 null인지 먼저 체크 후 null일 경우 해당 _instance를 찾아줍니다.

 

사용하실 경우에는 간편하게 Manager.Instance.함수명(); 과 같이 사용하실 수 있습니다.