목록c# (27)
Coding Memo
Unity에서 GameObject에 Component(MonoBehaviour)를 추가 하면 ‘Inspector’에 관련 내용이 표시가 된다. 위 이미지에서는 Transform과 SpriteRenderer가 Component로 붙어있고, 각 컴포넌트에 에디터에서 직접 편집하고 수정할 수 있는 값들이 나타나 있다. 이 값들은 흔히 우리가 MonoBehaviour에서 [SerializeField]태그가 붙거나 public으로 선언한 필드가 있으면 자동으로 Inspector에 나타나게 된다. 이 값들을 (태그에서 알 수 있듯이) SerializedProperty라고 하고 이것을 가지고 있는 객체를 SerializedObject라고 한다. 말 그대로 직렬화 되어서 우리가 유니티 에디터에서 다루기 쉽도록 바꾼 것..
Summary 자료형에 따라 call by reference 인지, call by value인지 결정되는데, 직접 전달 방식을 정할 수도 있다. call by value: 값을 복사하여 사용 call by reference: 값을 참조하여 사용 Value Type: 기본 자료형 (int, float, char), struct, … Reference Type: Class (string …), Action, … Variable Data Type Call By 매개변수에서 참조하는 개체 상태 수정 - 호출자 표시 여부 매개 변수에 다른 객체를 참조하여 할당 - 호출자 표시 여부 Value value X X reference (ref) O X Reference value O X reference (ref) O ..
매개 변수 앞에 한정자를 붙여 전달 방식을 지정할 수 있다. ref 인수 할당 필요, 매개 변수를 다른 개체로 재할당 가능 in 인수 할당 필요, read only out 인수 할당이 필수가 아님, 대신 호출된 메서드에서는 이 매개 변수에 값을 반드시 할당 해야함 params: 매개 변수의 개수를 가변으로 지정 ex) int Add(params int[] nums) out은 Try~~(out ~~) 함수를 생각하면 이해하기 편할 것이다. ex) TryGetValue(), TryGetComponent() … ref는 C의 포인터나 참조로 생각하면 쉽다. out은 C언어 함수에서 값을 할당하는 인자로 생각하면 쉬울거 같은데 값 할당이 필수가 아닌 C와 달리 C#에서는 out 키워드가 있으면 반들시 값을 할당..