게임심화 - 8. Script - 싱글톤

LSDrug·2024년 7월 3일

1. static 변수, 함수

모든 오브젝트가 공유하는 단 하나의 변수(전역변수)
ex) Math.sqrt

  • 외부에서 클래스이름.변수이름, 클래스이름.함수이름으로 접근이 가능

nickName, weight와는 달리 count는 전역변수로 가진다. Dog 클래스의 사본 오브젝트들은 공통적으로 count 변수를 가진다.

2. 디자인 패턴

프로그래머들 사이에서 공유되는 코드를 작성하는 방향

3. 싱글톤

<만약 싱글톤 패턴이 없다면?>

score를 사용할 때마다 게임 오브젝트의 링크를 걸거나 그 부분을 찾아야하는 단점이 있다. 매번 쓸 때마다 하는 것은 번거럽다.

<싱글톤 패턴 적용>

  • 클래스가 자기자신의 타입을 전역 변수로 가지고 있다.

  • 자기 자신을 전역 변수를 가지고 있다면 싱글톤 패턴이 적용된 것이라고 할 수 있다.

  • 바로바로 인스턴스를 가져와서 사용한다.

  • instance = this;를 이용해 자기 자신을 static 변수로 사용된다.

  • 싱글톤을 하나만 놓고 그 안에 원하는 함수를 넣어서 관리를 편하게 만들도록 한다.

4. 싱글톤의 종류

  • 유니티의 FindObjectofType<타입>을 사용해 ScoreManager를 찾고 가져와서 사용.
  • 그러나 ScoreManager가 없는 경우, instance가 null이 뜰 수 있다.

  • 최근에서는 보완된 방법을 사용한다.

5. 확장

위를 확장하면 다음과 같다.


profile
마약같은 코딩, 마약같은 코딩러

0개의 댓글