C# - 스택, 힙

김건호·2023년 12월 29일
0

C#

목록 보기
19/22

스택:
지역변수, 매개변수
값(value) 형식
C#에서 스택 영역 용량이 작다
0으로 초기화 되는 자료형

힙:
동적
참조(reference) 형식
C#에서 힙 영역 용량이 크다
null으로 초기화 되는 자료형

스택에는 값이 저장, 힙에는 주소가 저장된다.

박싱(Boxing)은 스택에서 힙으로 메모리가 옮겨 가는 것
언박싱(UnBoxing)은 힙에서 스텍으로 메모리가 옮겨 가는 것

static void Main(string[] args)
{
	int a =4;
    object obj = a; // 박싱: 값 형식인int를 찹조 형식인 object에 대입(object가 부모라 암시적 변환 가능)
    int b = (int)obj; // 언 박싱: 참조 형식인 object를 값 형식인 int에 대입
}

가비지 컬랙터 (GC : Garbage Collector)
힙 메모리를 관리해줌
new로 만드는 자료구조 Dispose() 필요
많은 가비지를 생성하면 프레임 드랍이 발생 -> 관리 필요

FileStream fs = new FileStream("Temp.dat", FileMode.Create);
try
{
fs.Write(buffer);
}
finally
{
if (fs != null)
fs.Dispose();
}
File.Delete("Temp.dat");
profile
콜라게임

0개의 댓글

관련 채용 정보