반응형
스택 (Stack)
함수의 호출정보나 매개변수, 지역변수 등이 값 형태로 저장되는 LIFO 방식의 메모리 영역입니다. 빠른 속도와 사용 뒤에는 자동으로 해제하는 자동 메모리 특징을 갖습니다. 대신 크기를 미리 확정하고 사용하기 때문에 스택 오버플로우가 발생할 수 있습니다.
- LIFO(Last In First Out)
- 후입선출 방식으로 가장 마지막 주소에 입력하고 가장 최근에 입력한 요소를 출력하는 특징을 갖습니다. 예시로는 웹브라우저의 뒤로가기가 있습니다.
- 스택 오버플로우
- 스택 포인터가 스택의 경계를 초과할 때 발생하는 현상입니다. 이 경우의 예시는 재귀함수의 무한실행 등이 있습니다.
힙 (Heap)
사용자가 직접 관리하는 FIFO 방식의 메모리 영역입니다. C#의 경우 GC를 통해 메모리가 자동으로 관리됩니다. 스택보다 큰 메모리를 할당받기 위해 사용하지만 속도는 비교적 느립니다.
- FIFO(First In First Out)
- 선입선출 방식으로 가장 앞 주소에 입력하고 입력된 순서대로 요소를 출력하는 특징을 갖습니다. 예시로는 줄서서 결제를 진행하는 경우가 있습니다.
위 내용은 어디까지나 개인 학습 중, 정리한 내용이기 때문에 잘못된 내용이 있을 수 있습니다.
부족한 설명이나 잘못된 내용에 대한 지적은 언제나 환영입니다.
반응형
'면접준비' 카테고리의 다른 글
코루틴이란? (0) | 2024.07.04 |
---|---|
상수란? (0) | 2024.07.04 |
객체지향프로그래밍이란? (0) | 2024.06.27 |