본문 바로가기
728x90

2

값형식과 참조형식 값형식과 참조형식을 알기 전에 스택(Stack)과 힙(Heap)을 알고 가면 좋다. 2020/07/13 - [개발/C#] - Stack and Heap Stack and Heap 윈도우 프로그램은 기본적으로 하나의 스레드를 가진다. 그리고 이 스레드마다 저장소가 메모리에 개별적으로 할당되는데 이 영역이 스택이다.(기본 1MB 할당) 개발자가 변수를 선언하면 스택의 epdev.tistory.com 스택과 힙에 대해 간략히 알아봤다면, 값형식과 참조형식에 대해 알아보자. 값 형식에 속하는 것들은 sbyte, byte, char, short, ushort, int, uint, long, ulong, float, double, decimal, bool 이 있다. 값 형식의 경우 값은 스택에 저장되고, 변수는 그.. 2020. 7. 13.
Stack and Heap 윈도우 프로그램은 기본적으로 하나의 스레드를 가진다. 그리고 이 스레드마다 저장소가 메모리에 개별적으로 할당되는데 이 영역이 스택이다.(기본 1MB 할당) 개발자가 변수를 선언하면 스택의 어떤 영역을 사용하게 된다. C# 컴파일러가 변수 선언에 대한 스택 메모리를 할당해주는 것이다. 그리고 좋은 점은 이 컴파일러가 알아서 스택의 메모리도 해제해준다. 힙은 이와 달리 프로그램에서 추가적으로 메모리를 요청하면 할당되는 저장소다. 스택보다 유연한 느낌이지 않는가? 좋아보이지만, 그렇다고 힙 메모리를 남발하면 프로그램 성능 저하가 올 수 있다는 점을 알아두자. 힙에 메모리를 할당하는 것은 개발자가 명시적으로 요청한 것이므로 해제도 해줘야한다. 하지만 C#은 이것도 GC(Garbage Collector, 가비지 .. 2020. 7. 13.
728x90