Programming/etc

스택(stack);값 형식과 힙(heap);참조 형식

esoog Polaris 2023. 6. 27. 00:33
반응형

스택(Stack)과 힙(Heap)은 컴퓨터 메모리에서 데이터를 저장하는 두 가지 주요 영역입니다. 이들은 값 형식(Value Type)과 참조 형식(Reference Type) 데이터를 저장하는 데 사용됩니다. 다음은 스택과 값 형식, 그리고 힙과 참조 형식의 개념과 차이점을 알기 쉽게 설명한 것입니다.

스택과 값 형식:
스택은 메모리의 한 부분으로, 지역 변수, 매개 변수, 반환 값 등의 작은 크기의 데이터를 저장합니다.
값 형식은 해당 데이터를 스택에 직접 저장합니다.
- 값 형식은 실제 데이터를 저장하며, 변수에 할당될 때 데이터의 복사본이 생성됩니다.
- 값 형식은 주로 정수, 부동 소수점 숫자, 논리값, 열거형 등과 같은 단순한 데이터를 나타냅니다.
- 값 형식은 메모리에서 할당 및 해제되는 작업이 비교적 간단하고 빠르며, 스택에서 관리됩니다.

과 참조 형식:
힙은 메모리의 다른 부분으로, 크기가 동적으로 변할 수 있는 데이터를 저장합니다.
참조 형식은 해당 데이터의 주소를 가리키는 참조를 스택에 저장하고, 실제 데이터는 힙에 저장됩니다.
- 참조 형식은 객체, 배열, 문자열과 같은 복잡한 데이터 구조를 나타냅니다.
- 참조 형식은 변수에 할당될 때 실제 데이터의 복사본이 생성되는 것이 아니라, 데이터에 대한 참조가 생성됩니다.
- 참조 형식은 메모리에서 할당 및 해제되는 작업이 상대적으로 복잡하고 오버헤드가 크며, 힙에서 관리됩니다.
- 참조 형식은 동적 메모리 관리를 통해 데이터의 크기를 조정할 수 있으며, 다른 객체나 변수가 동일한 데이터를 참조할 수 있습니다.

요약하면, 스택은 작은 크기의 데이터를 저장하는 메모리 영역이며, 값 형식 데이터는 해당 위치에 직접 저장됩니다. 반면에 힙은 크기가 동적으로 변할 수 있는 데이터를 저장하는 메모리 영역이며, 참조 형식 데이터는 힙에 저장되고 해당 위치를 스택에 저장하는 참조를 사용합니다. 값 형식은 데이터의 복사본을 생성하여 관리되는 반면, 참조 형식은 데이터에 대한 참조를 생성하여 관리됩니다. 

스택에는 값과 주소, 힙에는 동적인 데이터

728x90