스택과 힙의 큰 차이점은 동적, 정적의 차이라 볼 수 있겠다. 

동적 : 런타임시에 메모리 영역을 원하는 크기로 잡을 수 있다는 의미. 
정적 : 컴파일시에 크기가 정해져 있다는 의미. 

프로그래밍시 메모리 할당은 운영체제가 4개의 메모리에서 알아서 할당한다.
이를 단순화 시켜 하나의 공간으로 만든 것이 가상메모리 이다. 
코딩을 하면서 언급되는 메모리는 모두 가상메모리이다. 

가상메모리 영역 
* 코드 영역 - 코드가 저장됨
* 데이터 영역 - 전역변수, static 변수 처럼 프로그램 종료 될때까지 사라지지 않고 유지되는 는 정적인 영역 
* 스택 영역 지역변수, 매개변수 처럼 해당 영역을 빠져 나오면 소멸되는 영역
* 힙 영역 - 사용자가 실행중(런타임 중) 동적으로 생성, 소멸 시키는 영역 

 




이상입니다.


+ Recent posts