인프런 커뮤니티 질문&답변

신지한님의 프로필 이미지

작성한 질문수

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

SingletonBehaviour

싱글턴 관련해서 질문있습니다

해결된 질문

24.07.16 17:27 작성

·

326

3

안녕하세요 싱글턴 관련해서 질문이 있습니다

싱글턴 클래스가 결국 어느 위치에서든 참조할 인스턴스를 생성하는건데 static으로 선언한 클래스도 동일한 기능을 하잖아요?

static 클래스로 선언안하고 singleton으로 구현하는 자세한 이유가 궁금합니다!

관련해서는 사실 찾아보면서 대략적으로 알고는 있는데 뭔가 더 명료한 답변이 필요하고 현업에 관해서도 얘기를 들을 수 있으면 좋을거같아 질문드립니다

좋은강의 감사합니다

답변 1

3

BurningCarrot님의 프로필 이미지
BurningCarrot
지식공유자

2024. 07. 17. 00:53

안녕하세요! BurningCarrot입니다.

먼저 [유니티 시스템 프로그래밍 Pt.1]을 수강 해주셔서 감사합니다. 문의해 주신 내용에 답변 드립니다.

 

static 클래스에는 static 변수와 함수만이 선언 가능합니다. 강의 내에서 singleton 인스턴스로 만드는 클래스는 static한 성격을 가지지는 않습니다. 다만 m_Instance 변수를 static 변수로 선언하고 생성된 자기 자신의 인스턴스를 m_Instance에 대입함으로써, 코드 어디에서든 m_Instance에 접근하면 동일한 인스턴스에 접근하도록 유도하는 것입니다. 이것이 singleton 패턴의 의도인 것입니다. Singleton 인스턴스의 클래스가 static한 성격이 아니라는 것이 이해가 되셨으면 좋겠습니다. 이런 클래스를 static으로 선언한다면 현재 클래스에서 동적으로 생성된 오브젝트를 다루는 여러가지 행위 자체가 불가능해 질 것입니다.

 

추가로 궁금하신 점이 있으시다면 편하게 질문 부탁 드립니다 🙂

신지한님의 프로필 이미지
신지한
질문자

2024. 07. 17. 17:55

답변 감사합니다!!🙇‍♂