inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

Managers

Managers.cs 질문

272

Scott Michael

작성한 질문수 4

0

public static DataManager Data { get { return Instance?._data; }}

와같은 프로퍼티들이 스태틱으로 되어있던데

스태틱이어야하는 이유가 따로 있을까요?

그냥 외부에서 호출 할때 Manager.Instance.DataManager로 호출해도 되는데 이렇게 하신 의도가 궁금합니다.

 

또 위의 Data 프로퍼티의 정의에 보면 return _data가 아니라

Instance?._data로 하셨는데 이건 C# 7.0문법인 ?을 사용하려고 그렇게 하신건가요?

C# unity MMORPG

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

ScottMichael님의 질문에 대해 답변 드리겠습니다.

public static DataManager Data { get { return Instance?._data; }}와 같이 프로퍼티를 스태틱으로 선언하는 이유는 여러 가지가 있을 수 있습니다. 주된 목적 중 하나는 전역에서 쉽게 접근할 수 있도록 하여 어디서든 데이터 관리 객체를 사용할 수 있게 하기 위함입니다. 이렇게 하면 여러 객체나 클래스에서 데이터 관리 객체의 인스턴스를 각각 생성하지 않고, 공유된 하나의 인스턴스를 통해 데이터 접근 및 관리가 가능해집니다.

스태틱 프로퍼티를 사용하면, Manager.Instance.DataManager와 같이 인스턴스를 통해 접근하는 것보다 더 단순하게 접근할 수 있어 코드의 가독성 및 사용성이 좋아집니다.

Instance?._data에서 ? 연산자는 C# 7.0에서 도입된 널 조건부 연산자입니다. 이 연산자는 Instancenull이 아닐 경우에만 _data에 접근하도록 하는 안전한 방법을 제공합니다. null일 경우 접근을 시도하지 않기 때문에 NullReferenceException의 위험을 줄여줍니다. 따라서, 이러한 방식으로 작성하신 이유는 프로퍼티 접근 시 안정성을 높이기 위함일 수 있습니다.

코드의 의도나 구조에 대해 더 깊이 이해하고 싶으시다면 해당 코드를 작성한 개발자의 더 많은 설명이나 문서를 참조하시는 것을 추천드립니다.

수업질문은 아닌데요^^

0

59

1

UI 자동화 관련 문의입니다.

0

107

1

9주차 npc 생성 안되는 이슈. Custom Tile 깨짐

0

107

1

44강 Stage 분할 Cannot Find 에러 관련

0

80

1

8주차 ExtralCell 추가됐을 때 서로 공격 못하는 상황 공유드립니다.

0

120

1

rider에서 new editor config 설정

0

172

1

Reward csv 파일이 없고 EquipmentChart는 열이름 문제로 업로드가 안됩니다.

1

154

2

강의 영상코드랑 강의 자료 코드가 다릅니다.

0

159

2

M1의 어드레서블 리소스 관리 방식에 대하여 질문있습니다.

0

134

1

M1의 리소스매니져 클리어 타이밍에 대해 여쭤보고싶습니다.

0

94

1

C1 일정은 어떻게 되는건가요?

0

219

3

게임 클라이언트 개발에서 테스트 코드 작성이 도움이 될까요?

0

185

1

Stateless서버에서의 유저인스턴스

0

176

2

섹션 4(SaveData, HeroList, ItemData, ItemHolder)에 일부 항목들에 대한 재생오류 해결 부탁드립니다.

0

166

1

첫 강의 manager 가 재생이 안됩니다.

0

302

5

T2는 어떻게된걸까요?

0

434

1

9주차 강의 'Stage 분할' 이 로딩만 뜨고 재생되지 않습니다

0

149

1

강의 완료 시기

0

305

1

다운 받은 맵 프리팹을 오픈해보니 핑크색으로 보이네요

0

567

3

typeof 와 GetType

0

227

1

섹션2 - Tilemap 강의에서 BaseMap 프리팹에 Front_01 용도가 궁금합니다.

0

152

1

패킷 형식 질문입니다.

0

148

1

어드레서블 Sprite 관련해서 질문이있습니다.

0

596

1

Data #2 까지 들었는데 빌드를 해보고싶은데, 어느 강의에서 확인할 수 있나요?

0

301

2