Computer science를 공부하다보면, 필수적으로 공부하는 것 중 대표적인 것은 Data structure(자료구조)와 Programming language일 것이다.
일반적으로 Data structure의 후반부를 공부하게 되면 Tree형 자료구조를 공부하며 Heap data structure를 공부해보았을 것이다.
그리고 Programming language에서, Java, C, C++등 동적할당에 해당하는 new키워드로 instance 생성시에 heap memory에 해당하는 영역에 memory가 할당된다는 것도 알고 있을 것이다.
그렇다면 아래와 같은 의문을 가질 수 있다.
왜 동적할당이 되는 영역의 memory는 Heap일까? List나 다른 자료구조일 수는 없는걸까?
정답을 말하면, Heap Memory와 Heap Data structure는 전혀 별개다. 이름때문에 헷갈릴 수 있지만 Heap memory에서 말하는 Heap은 Pool에 가깝다. 링크에 따르면 1975년 경부터 가용 메모리 pool의 개념으로 heap이란 단어를 썼다고 한다.
그러니 헷갈리지 말자.
요약 : Heap Memory와 Heap data structure는 전혀 관계가 없다.
댓글 없음:
댓글 쓰기