그리고 저번에 리액트 스터디 10~12장 부분 의견 나눌 때, 팀원들끼리 궁금증도 생기고 그래서 이 부분을 좀 더 알아보기로 했다...
그전에 메모리 구조에 대해 알아보자!

스택(Stack)은 메모리에서 함수 호출과 관련된 임시 데이터를 저장하는 영역으로 주로 지역 변수, 매개변수, 리턴값 등을 저장한다.
선입선출 (LIFO, Last In First Out) 구조
자동 할당 및 해제
빠른 접근 속도
고정 크기
메모리 크기가 미리 결정되어 있으며, 한계에 도달하면 Stack Overflow가 발생한다.
상대적으로 메모리 크기가 작아서 간단한 임시 데이터 처리에 적합하다.
사용자가 필요할 때마다 사용(동적으로 메모리를 할당)하고, 해제할 수 있는 메모리 영역으로 프로그램 실행 중 필요한 크기만큼 요청해 사용한다.

앞서 스택(Stack)영역과 힙(Heap)영역에서 메모리가 주소의 방향에 따라 할당된다고 했다.
- 스택 : 메모리 높은 주소에서 낮은 주소 방향으로 할당
- 힙 : 메모리 낮은 주소에서 높은 주소 방향으로 할당
스택과 힙 영역은 메모리의 같은 공간을 사용한다.
1) 그래서 스택 영역이 크면 힙 영역은 작아지고, 반대로 힙 영역이 크면 스택 영역은 작아진다.
2) 그래서 자신의 영역을 벗어나 상대 영역을 침범할 경우 스택 오버플로우(Stack Overflow: 스택이 힙 영역을 침범), 힙 오버플로우(Heap Overflow: 힙이 스택 영역을 침범)가 발생할 수 있다.