[유니티 C#] 값형식과 참조형식

YongSeok·2022년 8월 11일
0

📌 값형식과 참조형식

변수는 저장된 값의 메모리 주소입ㄴ니다.
프로그램이 실행되면 크게 2개의 메모리 영역을 사용합니다.

첫번째 메모리 영역의 이름은 스택 메모리 입니다. 스택은 가장 나중에 넣은 데이터를 가장 먼저 꺼내는 선형적 구조입니다.
두번째 메모리 영역의 이름은 힙 메모리 입니다. 힙은 계층적 구조입니다. 임의의 순서로 저장됩니다.

변수가 선언되면 스택 메모리에 공간이 할당됩니다. 변수에 값을 할당 한다는 것은 메모리에 값을 저장한다는 뜻입니다. 모든 값이 스택 메모리에 저장 되는 것은 아닙니다. 어떤 값들은 힙 메모리에 저장됩니다. 스택에 값이 직접 저장되는 형식을 값형식 이라 부릅니다. 힙에 값이 저장되는 형식을 참조형식 이라 부릅니다.

참조형식은 스택과 힙메모리 모두를 사용합니다.

힙에는 값을 스택에는 값의 주소를 저장합니다. 값을 참조 한다고 해서 참조 형식이라 부른답니다.

값형식은 다음과 같습니다. int, float, char, bool, enum 값형식은 스택에 값이 직접 저장됩니다.

참형식은 다음과 같습니다. string, object 참조형식의 값은 힙 메모리에 값의 주소는 스택에 저장됩니다.



null 키워드는 개체를 참조하지 않는 null 참조를 나타내는 리터럴입니다. 리터럴이란? 소스코드의 고정된 값 즉, null은 아무것도 참조하지 않는 값 null은 참조 형식 변수의 기본값 입니다.

값은 변수에 할당 가능 string은 참조형식 그러므로 string변수에 null값 할당 가능
string name = null; 은 바로 이런상태이다

이것만 기억하시오 🚨중요🚨
값형식은 스택에 참조형식은 힙에 값이 저장된다.

0개의 댓글