타입(Type)이란?

값 타입(value type)과 참조 타입(reference type)

값 타입(value type)과 참조 타입(reference type)의 구분

필드 타입(field type)

클래스 타입(class type)

Null과 Nullable Type


int a, b;
a = 10;
b = a;
a++;
Debug.Log(a);
Debug.Log(b);
//a와 b의 결과값이 다르게 나온다.
// a와 b의 값은 같지만, a와 b가 하나의 값을 가리키는 것이 아닌,
//a = b를 통해서 두 변수 각각 10이라는 값을 가지고 있는 것이다.
Vector3 a, b;
a = GameObject.Find("Player").transform.position;//Player.transform.position = new Vector3(0, 0, 0);
b = a;
a += new Vector3(0, 1, 2);
Debug.Log(a);
Debug.Log(b);
//a와 b의 결과값이 같게 나온다.
// b = a는 a와 b가 같은 값을 가지게 되는 것이 아니다, a는 값을 저장하는 것이 아닌 값의 주소로, b = a를 해주는 과정에서 서로 같은 값의 주소를 가리키게 된 것이다.
//그렇기에 한쪽의 값이 바뀌면, 같은 주소를 가리키던 변수 모두에 영향이 있다.
//위와 같은 현상을 부수효과라고 한다.