| 구분 | Heap (힙) | Stack (스택) | Static (정적) | Data (데이터) |
|---|---|---|---|---|
| 할당 방식 | 동적 할당 | 자동 할당 (함수 호출) | 정적 할당 | 정적 할당 |
| 메모리 해제 | 직접 해제 필요 (delete, free()) |
함수 종료 시 자동 해제 | 프로그램 종료 시 해제 | 프로그램 종료 시 해제 |
| 속도 | 느림 | 빠름 | 중간 | 중간 |
| 사용 예시 | 객체, 배열 | 지역 변수, 매개변수 | static 변수, 싱글톤 |
전역 변수 |
| 수명 | 직접 해제 전까지 유지 | 함수 실행 중 | 프로그램 종료 시 | 프로그램 종료 시 |