할당시점 | 해제시점 | 특성 | |
Static (Data) 영역 |
전역변수의 선언 |
프로그램의 종료 |
프로그램이 끝날 때까지 사라지지 않는다.
|
Stack 영역 (메소드영역) |
지역변수의 선언 | 메소드의 종료 |
메소드가 종료되면 할당되었던 메모리 공간은 비어진다.
|
Heap 영역 (동적메모리) |
동적변수 생성 (new ) |
동적변수 삭제 |
프로그래머의 필요에 의해 관리된다. 객체나 배열을 저장하는 가상메모리 공간 참조하는 변수가 없다면 자동으로 힙영역에서 제거된다. |