JavaScript - 콜 스택(Call Stack)과 힙(Heap)

김서영·2024년 2월 14일
0

콜 스택(Call Stack)과 힙(Heap)


콜 스택(Call Stack)

콜 스택은 현재 실행 중인 함수의 정보를 저장하는 스택 자료 구조

  • 함수가 호출될 때마다 해당 함수의 정보가 스택의 맨 위에 push되고, 함수가 종료되면 pop되어 스택에서 제거됨
  • 이러한 동작은 함수의 호출과 반환을 추적하며, 호출된 함수의 실행이 완료될 때까지 다른 함수의 실행을 일시 중단함
  • 따라서 콜 스택은 호출 스택(Call Stack)이라고도 불리며, 함수 호출의 순서와 제어 흐름을 관리
  • JavaScript 엔진은 단일 콜 스택을 사용하므로, 동시에 하나의 작업만 처리 가능

힙(Heap)

힙은 동적으로 할당된 메모리를 저장하는 공간으로, 객체와 배열과 같은 자료구조가 저장된다.

  • 힙은 메모리 관리를 위한 자동화된 메커니즘을 갖추고 있어, 개발자가 직접 메모리를 할당하거나 해제할 필요가 없음
  • 객체나 배열과 같은 데이터 구조는 힙에 할당되며, 힙에 저장된 데이터는 참조되는 동안 메모리에 유지
  • JavaScript의 가비지 컬렉터는 힙에서 더 이상 참조되지 않는 객체를 탐지하고 메모리를 자동으로 해제하여 메모리 누수를 방지

정리

콜 스택은 함수 호출과 실행의 순서를 관리하고, 힙은 동적으로 할당된 데이터를 저장하는 메모리 공간이다!!

profile
개발과 지식의 성장을 즐기는 개발자

0개의 댓글

관련 채용 정보