백지부터 시작하는 이세계 코딩 생활
Singleton 본문
Singletone
싱글톤(Singleton) 패턴은 단 하나의 인스턴스를 생성해 사용하는 디자인 패턴이다.
( 따라서 싱글톤을 사용할 때는 static 타입으로 지정해준다 ) 생성된 인스턴스는 static 메모리에 할당되어 존재하게 된다.
싱글톤으로 구현된 오브젝트는 참조될 때 마다 새로 생성되는 것이 아니라 static 에 할당되어 있던
오브젝트(인스턴스)를 반환해주게 된다.
static
프로그램이 실행 될 때 한번만 할당된다. 따라서 static 변수의 Life cyccle 은 프로그램이 종료되기 전까지 이다.
static 변수의 scope는 전역변수의 scope 와 유사하다.
private
외부 접근이 불가하며 내부 ( Class ) 에서만 사용할 수 있다.
코드의 유지 보수 시 코드의 tracking 시간을 줄일 수 있으며 가독성을 높일 수 있다.
메모리 관리가 수월해지며 퍼포먼스에 효율이 좋다.
효과 :
하나의 인스턴스를 만들어서 사용하기 때문에 인스턴스의 내용이 변경되면
변경된 값 그대로 static 메모리에 존재하게 된다. -->
상대적으로 메모리 낭비가 적으며 ,
프로그램이 시작될 때 한번 선언이 되고 나면,
프로그램이 종료되지 않는 한 선언해제가 되지 않는다는 특징이 있다.
따라서 static 메모리에 저장된 값은 사용후 해제되지 않고 static에 보존된다.
public class MobileRig : MonoBehaviour
{
#region SINGLETON
public static MobileRig mobileRig = null;
public static MobileRig Instance
{
get
{
if (mobileRig == null)
mobileRig = FindObjectOfType<MobileRig>();
return mobileRig;
}
}
...
}
cf. 참고하면 좋을 듯 한 정보
'백지부터 시작하는 이세계 유니티 생활 since 2020' 카테고리의 다른 글
struct 와 Class (0) | 2020.11.26 |
---|---|
Raycast, RaycastHit, DrawRay (0) | 2020.11.24 |
PointerEventData (0) | 2020.11.19 |
Dictionary (0) | 2020.11.18 |
magnitude (0) | 2020.11.18 |
Comments