Singleton 패턴 관련 문의
556
15 asked
안녕하세요. 강의 잘 듣고 있습니다.
제가 Singleton 패턴을 잘 이해한 것인지 헷갈려서..
아래와 같이 메모해 두었는데 제대로 이해한 것일까요?
//그러니까
// Manager s_instance = new Manager(); 이게 안되니까
// go라는 GameObject를 만들어 @Managers 라는 GameObject를 생성해 집어넣던지 있으면 찾아넣던지 하고
// @Managers에 Managers클래스(스크립트)를 컴포넌트로 같다붙인 뒤
// Managers 클래스의 static instance인 s_instance에다가
// @Manager라는 GameObject에 붙어있는 컴포넌트 -> Managers 클래스를 집어넣음으로써
// 결과적으로 Managers의 static instance인 s_instance에다가
// Managers 를 갖다넣음 즉 Manager s_instance = new Manager(); 이거를
// @Managers 라는 GameObject라는 애를 통해서 우회적으로 한 것임.
감사합니다.
Answer 3
1
네 이해하신 것은 맞는데
저게 정확히 Singleton에 관한 얘기는 아닙니다.
디자인 패턴에서 말하는 싱글톤은
(보통 static을 활용해) 하나만 존재하는 전역 클래스를 사용하는 패턴이고,
저렇게 Manager를 만든 것은 유니티의 Component 구조에 맞게 살짝 틀어준 것이죠.
0
제 경우에는 @Managers Objects 가 없는 경우 정상적으로 null Check 를 해서 @Managers Objects 를 만들고 Managers Component 도 붙이는것 같긴한데요.. 아래와 같은 Warning이 납니다.
ou are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all
강사님 답변을 찾아보니 GamesObject 는 Monobehavior 상속을 받지 않기 때문에 new 로 생성이 가능하다고 하신것 같은데, 자료에 있는 스크립트와 제가 작성한 스크립트를 찾아봐도 차이점을 도저히 모르겠습니다 ㅠㅠ;
UI 기능 관련 질문이 있습니다!
0
34
2
픽셀 좌표 스크린 좌표
0
32
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
73
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
84
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
83
1
Input 적용과 관련하여 질문 있습니다.
0
75
1
디버그 불가.. Unity에 연결 불가
0
82
1
달리기 애니메이션 에러
0
88
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
66
1
GetKey 오류
0
109
2
에셋을 어디에 올려두신지 알 수 있나요?
0
107
1
재귀호출? 오류나는데 왜 이래요 ?
0
169
6
Animation blending 파라미터 계산
0
68
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
97
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
88
2
질문있습니다
0
143
2
아 이거 소스코드 같은거 없나요?
0
142
3
질문 드립니다. string.IsNullOrEmpty(name)
0
87
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
136
2
유니티6 NavMesh 안되는분들
1
176
1
Unity6 Unity-Chan Material 마젠타 문제 해결법
7
527
1
GetComponent<Poolable> 질문드립니다.
0
102
2
UI 불러오지 못함
0
118
2
UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.
0
155
2

