[C#] Value type과 Reference type
2022. 5. 4. 02:49ㆍ유니티, C#
System.ValueType, bool, byte, int, float, char, enum, struct로 정의하는 type들 : Value Type
object, string, System.Array, class로 정의하는 type들 : Reference Type
프로그램 구조적으로 Value type의 수정은 값이 복사가 되기 때문에 잘못 수정해도 타격이 크지 않다.
그러나 Reference type의 수정은 이 값을 사용하는 모든 프로그램이 같은 값을 사용하기 때문에 잘못 수정하면 프로그램 전체에 타격을 줄 수 있다. 따라서 Reference type의 수정은 조심히 다뤄야 한다.
+추가
Value type은 Stack 할당이라 메모리에 부하가 적음.
Reference Type은 Heap 할당이라 오버헤드가 크고 가비지컬렉션이 잦음.
'유니티, C#' 카테고리의 다른 글
| [유니티, C#] SerializeField와 Serializable 차이 (0) | 2023.04.17 |
|---|---|
| [유니티 3D] "Dev Weeks: 스마트한 카메라 시스템, 시네머신 파헤치기" 정리 (0) | 2022.06.03 |
| [C#] 인터페이스와 추상클래스 (0) | 2022.05.04 |
| [유니티 2D] 씬 전환, 텍스트 박스 Fade in / Fade out Coroutine으로 구현하기 (0) | 2022.03.02 |
| [유니티 2D] 좌우이동 반복(Time, deltatime, /좌우반전 (localscale) (1) | 2022.01.12 |