본문으로 건너뛰기

메모리 관리

대부분 프로그래밍 언어에서는 메모리를 관리할 필요가 없습니다.

그 이유는 다 자동으로 컴파일러가 처리하기 때문입니다.

Rust의 가장 핵심적인 장점 중 하나가 메모리 관리의 안전성과 자유성이 있습니다.

그래서 Rust에서는 메모리 관리를 할 줄 알고 있어여 직접 프로그램을 만들 수 있습니다.

Stack

Stack이라는 것은 쌓은 데이터들이라는 뜻인데 새로운 값을 넣으면 위로 쌓이고 제거하면 위 데이터를 제거합니다.

즉, 펜케이크와 같이 펜케이크를 쌓고 하나 먹으면 위 펜케이크를 먹고 새로 구으면 위에 높드시 메모리를 디자인했습니다.

pancake

기본 데이터 형식(정수, 소수, 불리언과 문자)는 길이가 미리 정해진 stack의 메모리를 사용합니다.

노트

stack의 길이(높이)는 미리 정해져 있습니다.

그래서 i32와 같이 정해진 길이를 가졌습니다. :::

Heap

Heap은 미리 데이터들의 빈 자리를 마련하고 나중에 새롭게 데이터를 넣어주는 메모리 형식입니다.

즉, 미리 학교 방 2-5반에 32개의 자리를 마련하고 31명의 학생만 있어도 새로 오면 그 자리에 넣거나 새로운 의자를 가지고 울 수 있드시 마립니다.

Vector, 문자열은 Heap에 저장됩니다.

classroom