메모리 할당과 수명
메모리 할당과 수명 (Memory allocation and lifetime)
프로그램의 항목(item)은 컴파일 타임에 값이 계산되어 Rust 프로세스의 메모리 이미지에 고유하게 저장되는 함수, 모듈, 타입들을 말해요. 항목은 동적으로 할당되지도 않고 해제되지도 않아요.
출처: Rust Reference
본문
힙(heap) 은 박스(box)를 설명하는 일반적인 용어예요. 힙 안의 할당 수명은 그 할당을 가리키는 박스 값의 수명에 따라 달라져요. 박스 값 자체는 프레임을 오가며 전달되거나 힙에 저장될 수 있으므로, 힙 할당은 그것이 할당된 프레임보다 더 오래 살 수 있어요. 힙 안의 할당은 그 할당의 전체 수명 동안 힙의 단일 위치에 머물러 있다고 보장돼요. 박스 값을 이동시킨다고 해서 그 할당이 재배치되는 일은 절대 없어요.
간단히 정리하면, 항목은 영원히 살아 있고, 힙 위의 박스 값은 그 박스를 가리키는 값의 수명에 묶이며, 그 위치는 절대 옮겨지지 않아요. 그래서 소유권 개념에 따라 메모리가 언제 해제될지를 따라잡을 수 있는 거죠.