스택과 힙 메모리의 이해 - ② 힙(Heap)
힙(Heap) 앞서 스택은 메모리에 데이터를 차곡차곡 쌓아놓은 형태를 보인다고 했다. 반대로 Heap을 영어사전에 검색하면 "(아무렇게나 쌓아 놓은) 더미"라는 뜻이 첫 번째로 나온다. 스택에 할당되는 데이터는 컴파일 타임에 어디에, 얼마나 저장될지 명확히 알 수 있다. 반면 힙은 힙이라는 거대한 공간 어디에 할당될지, 얼마나 할당될지 알 수 없다. 뿐만 아니라 스택은 정해진 위치에 컴파일 타임에 정해진 크기만큼 할당 및 해제 하기 때문에 빠르다. 반면, 힙은 프로그램 실행 중에 필요한 공간의 크기를 파악하여, 빈 공간을 찾아야 하기 때문에 상대적으로 느릴 수밖에 없다. 힙을 사용하는 이유 그럼에도 많은 힙을 사용하는 이유는 다음과 같다. Life cycle Large size Dynamic alloca..