[Stack & Heap]
프로그램이 동작할 때 메모리를 크게 Code, Stack, Heap 3가지 구역으로 나눌 수 있다. 1단계 : Code 우리가 짠 코드가 실행되기 위해서는 기계가 알아들을 수 있는 머신코드가 필요하며, 이 변환을 "컴파일"이라고 한다. 머신코드를 메모리에 올리는 곳을 Code 영역이라고 한다. 2단계 : Stack 머신코드이든 우리가 영어로 작성한 코드이든 실행순서는 동일하다. Stack 영역에서는 우리가 작성한 코드를 기초로 변수들에게 자료형에 따라 메모리를 할당해준다. 즉 Stack은 머신코드가 메모리에 직접 접근하는 것이다. 3단계 : Heap Heap은 머신코드가 메모리에 직접 접근할 수 없는 부분이다. 우리가 작성한 코드대로 변수에 메모리를 할당하고 나서 메모리가 더 필요한 경우, 로직에 따라 ..
2020.05.19