반응형
유니티 기초 글 링크 모음 : geukggom.tistory.com/1
[서론]
안녕하세요, 극꼼이입니다!
1에서 변수의 데이터타입과 형변환을 알아본데에 이어서 변수의 값형식과 참조 형식에 대해 알아보도록 하겠습니다.
[값 형식]
값 형식은 말 그대로 값을 집어넣는 데이터 타입을 말합니다.
값 형식의 데이터 타입의 예시로는 int, float, char, string, bool 등이 있습니다.\
int a = 1;
int b = a; // 변수 b에 a의 값을 집어 넣음.
b = 3;
Debug.Log(a); // b의 값을 바꿔도 a = 1로, b의 영향을 받지 않음.
위의 예시처럼, 값 형식의 데이터 타입의 변수에는 값 자체를 집어넣는 것이기 때문에 다른 변수의 값을 바꿔도 원래 변수의 값은 이에 영향을 받지 않습니다.
[참조 형식]
참조 형식은 데이터를 직접 저장하는 대신, 데이터가 있는 주소값을 저장(참조)하는 데이터 타입을 말합니다.
아래와 같은 오브젝트A를 예시로 들어보겠습니다.
오브젝트A 안에는 Transform, Rigidbody, Collider와 같은 여러 컴포넌트가 각각의 주소값을 가지고 있습니다.
Transform A_tran = objectA.transform;
Transform A_tran2 = objectA.transform;
A_tran과 A_tran2 변수 모두 objectA의 Transfrom 컴포넌트를 입력해줍니다.
A_trans2.position = new Vector3(1,2,5);
Debug.Log(A_tran.position); //(1,2,5) 찍힘
A_tran2 변수의 position 값을 바꿨을 때, A_tran 변수의 position 값도 똑같이 바뀌게 됩니다.
서로 같은 주소값을 참조하고 있기 때문에 서로 영향을 받는 것입니다.
반응형
'[Unity] > [C#]' 카테고리의 다른 글
[C# 기초] #03 : 변수 - 접근지정자(public, private, protected) (0) | 2021.07.07 |
---|---|
[C#] 열거형 Enum과 string,int 형변환 방법 (0) | 2021.06.28 |
[C#] 상속(virtual, override, abstract) (0) | 2021.06.26 |
[C#] List 값 복사하기(참조하지 않고, 값만 복사하는 방법) (0) | 2021.05.24 |
[C# 기초] #01 : 변수 - 데이터형식(Data Type)과 형변환 (0) | 2021.03.29 |