ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 24년 5월 25일 TIL
    공부 기록 2024. 5. 25. 20:58

    싱글턴. 

     

    게임에서 한 개만 만들라는 게 아니다. 

    어떠한 클래스의 한 개의 '객체'만을 만들어서 사용 하는 것이다. 

     

    이걸 이제야 이해 했다..!

     

    클래스를 싱글턴 패턴으로 만들었는데 여러개의 객체를 생성 하면 컴퓨터가 데이터를 찾기 힘들다. 그게 이 소룡이였다.

     

    싱글턴인 클래스가 여러개인건 상관이 없다. 속이 후련하군.

     

    작성 방법

    public static GameManager Instance; 라는 코드로 static인 클래스형을 선언 하고 Awake에서 초기화를 해준다.

     

     private void Awake()
     {
         if (Instance != null) Destroy(gameObject);
         Instance = this;
     }

     

    객체는 하나만 있어야 하니까 Instance가 null이 아닐 경우(객체가 생성 돼 있는 경우) 파괴 하는 코드를 추가 해준다. 

    null일 경우 초기화를 해준다. Instance가 null인지 아닌지 확인이 가능한 이유는 static으로 선언 돼 있어서이다. 객체가 새로 생성 되어도 Instance 변수는 공유 하게 된다. 그러므로 객체 새로 만들어도 똑같은 걸 참조한다. 그래서 가능한 코드

     

    이렇게 한 개의 객체만을 생성 하게 만들어 주고 이 객체를 다른 모든 클래스에서 참조 하면 된다. 

    주의 할 점은 너무 많은 기능을 넣지 않게끔 주의 해야 한다. 유용한 패턴이다 보니 한 개의 클래스에 많은 기능을 넣게 된다.

     

    확실히 다른 것들을 공부 하다보니 예전에 이해 안 가던 것들이 이해 되는 경우가 많다. 후-련 

    '공부 기록' 카테고리의 다른 글

    24년 5월 28일 TIL  (0) 2024.05.28
    24년 5월 27일 TIL  (0) 2024.05.27
    24년 5월 24일 TIL  (0) 2024.05.24
    24년 5월 23일 TIL  (0) 2024.05.23
    24년 5월 22일 TIL  (0) 2024.05.22
Designed by Tistory.