TPinDistance 프로퍼티 관련 질문드립니다
231
2 asked
안녕하세요 먼저 수준 높고 질 좋은 강의 잘 보고 있습니다!!
사소한 변수 선언 방식부터 디테일한 스크립팅 까지 C# 코딩의 정석을 보는 것 같아 정말 감사드립니다.
질문이 있는데요~
2D Pin Circle 튜토리얼 중 핀오브젝트 스크립트 작성 부분에서
TPinDistance 프로퍼티를 만들어서 핀오브젝트 사이의 간격을 1로 만드는데요
프로퍼티는 필드에 로직을 주거나 object initializer을 할 때 쓰기위함으로 알고 있습니다
바로 위 스크립팅에서 firstTPinPosition은 필드로 변수 설정을 하였는데 TPinDistance는 왜 프로퍼티로 선언을 하셨나요?
그리고 프로퍼티가 아닌 필드를 사용해도 되는지요?
마지막으로 프로퍼티와 필드를 이용하여 데이터를 대입할 때 두가지의 장단점이 어떤지 궁금합니다(보안이나 데이터 사용의 효울성 등)
C# 문법의 초급 정도를 여쭤보는거 같아 민망하지만 좀 더 배우고자 질문드립니다^^
감사합니다!!
Answer 1
1
처음 제작할 때 TPinDistance를 StageController에서 변경할 수 있도록 하기 위해
(외부에서는 변경할 수 없도록) 프로퍼티로 private set, get으로 정의했었습니다.
지금 코드에서는 값을 별도로 설정하지 않기 때문에 firstTPinPosition처럼 변수로 선언해도 됩니다.
대신 외부에서도 TPinDistance를 사용하기 때문에 readonly와 같은 키워드를 붙여
값을 수정할 수 없도록 하는 것이 더 좋습니다.
프로퍼티의 경우 말씀하신대로 필드에 로직을 주기 위함도 있지만
Get만 허용되는 private 변수와도 같습니다.
즉, 현재 클래스 내부에서는 값을 수정할 수 있지만 외부에선 값을 열람할 수만 있는 용도로도 사용합니다.
StageController
0
73
2
ZIGZAG강의중 Start를 Coroutine으로 사용하는 이유가 무엇인가요?
0
252
1
[2D Pin Circle Game] 회전 질문
0
391
1
2D에서 navmesh를 사용하는 방법이 궁금합니다.
1
3646
1
Object를 유니티에서 직접 설정하는것과 파라미터로 전달하는것의 차이가 있나요
0
314
2
StartCoroutine 파라미터에 함수넣는것과 문자열 넣는것의 차이가 뭔가요?
0
406
2
수업관련 질문이 있습니다
0
322
2
IEnumerator 사용이유?
0
497
1
2D Wave.Io 카메라 흔들기 질문
0
276
1
2D Wave.io 에서 IEnumerator 질문
0
319
1
여기서 래디안을 구하는 이유가 이해가 안갑니다.
0
1345
2
2020.3.0f1 Unity Package Manager Error
0
2158
2
2d pin throwablepin 관련 질문
0
336
1
ZIGZAG, 카메라 컨트롤러 질문
0
263
1
유니티 이벤트 질문
0
295
1
2d wave에서 충돌처리가 안 되요
1
348
1
오디오소스 아이콘
0
371
1
ppt 자료는 어디서 받아야 해요?
0
402
1
2D 게임에서 Z값의 변경이 영향을 주는 경우가 있을까요?
1
728
1
for 반복문 작성시 후위 증가 연산자를 쓰는 이유가 궁금합니다
1
431
1
리셋버튼이 스테이지1로 바꿔주지 않습니다.
2
232
1
지그재그 타일생성 질문있습니다.
1
400
1
PinSpawner 스크립트를 추가하는 과정에서 오류가 발생합니다.
0
219
1
궁금합니다.
1
814
1

