C# 유니티 DataType

728x90

유니티에는 크게 2가지 Data Type이 있는데 Value Type과 Reference Type으로 나뉜다.

Value는 특정 값을 가지는 반면, Reference는 Value값이 저장된 메모리의 주소를 가진 형태이다.

 

이 두 가지 타입의 차이는 데이터를 copy할 때 나타나는데,

Value타입은 변수를 복사한 후 복사본을 사용해도 원본 변수에 아무 영향을 미치지 못하지만,

Reference타입은 복사 시 메모리 주소 전체를 가지여고 때문에 데이터 수정 시 원본에까지 영향을 미친다.

Value Type의 경우,

pos는 Vector3 데이터 타입이기 때문에 trasform.position 변수에 아무런 영향을 주지 못하고,

결과적으로 transform에도 변화가 없다. 스크립트를 적용 후 유니티에서 플레이할 경우 오브젝트가 이동하지 않는다.

 

Reference Type의 경우,

tran이라는 이름을 가진 Transform 객체의 메모리 주소를 가져와 데이터를 수정하기 때문에

원본 transform의 position 값이 변하게 된다. 스크립트를 적용 후 유니티에서 플레이할 경우 오브젝트가 이동된다.

 

<값 형식>
<참조 형식>

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/builtin-types/built-in-types

 

기본 제공 형식- C# 참조

C# 기본 제공 값 및 참조 형식 배우기

docs.microsoft.com

 

 

 

728x90