Learning
When: 1학년 5월 10일
How:
코드를 짜다가 Transform은 참조 타입인데 position 변수는 복사가 되어, 복사가 되는 타입과 참조가 되는 타입이 헷갈려서 규칙이 있을까 싶어 공부를 해보았습니다.
Understanding:
값 타입은 변수를 어떠한 값에 대입해도 값이 2개가 되어, 대입받은 변수가 바뀌어도 대입한 변수는 바뀌지 않는다는 것입니다. 그리고 참조 타입은 똑같이 했을 때 값이 2개가 되지 않고, 대입받은 변수가 대입한 변수의 값을 참조하여 대입받은 변수에 변화를 주면 원본 값에 변화가 생기는 것입니다.
이것을 확인하는 방법이 있는데, 클래스에 마우스를 가져다 대면 struct와 class로 나뉘고 struct가 값 형식, class가 참조 형식입니다. string은 불변이라 값처럼 작동하고 예외가 조금은 있지만 대부분은 그렇게 생각하시면 됩니다.
Unity에선 컴포넌트와 GameObject 등이 참조 타입이어서 그것을 변수가 복사하면 그 값을 바꿀 수 있고, Vector, Color, Quaternion 등이 값 타입이어서 값을 복사한 후 활용하기 좋습니다. 고로 position은 Vector 형식이기 때문에 값 타입이라는 것을 알 수 있습니다.
Result: position은 Vector 형식이기 때문에 값 타입입니다.
'UnityEngine' 카테고리의 다른 글
| [Unity] 오브젝트 왔다 갔다 하게 만들기 (0) | 2025.05.11 |
|---|---|
| [Unity] 파티클 두번 보이는 버그, 파티클 투명도(Alpha) 조절 (0) | 2025.05.10 |
| [Unity] TextMeshPro vs TextMeshProGUI (0) | 2025.05.08 |
| [Unity] Particle System같은 타입 변수 만들기 (0) | 2025.05.07 |
| [Unity] 코드에서 GameObject 가져오기 (0) | 2025.05.06 |