Heap Boundary
Box는 값의 크기를 포인터 크기로 고정해 재귀 구조를 열어 준다
컴파일러가 크기를 바로 알 수 없는 재귀 타입은 Box를 통해 힙에 실제 값을 두고 스택에는 포인터만 보관하게 만들 수 있습니다.
포인터 저장
변수에는 힙 데이터를 가리키는 고정 크기 포인터가 들어갑니다.
실제 데이터
크거나 재귀적인 값은 힙에 놓이고 Box가 소유권을 관리합니다.
소유권 이동
Box 자체를 이동하면 힙 데이터의 소유권도 함께 이동합니다.
자동 해제
Box가 범위를 벗어나면 힙 데이터도 함께 정리됩니다.
enum List { Cons(i32, Box), Nil }