메모리 관리

전통적으로, 두 종류의 프로그래밍 언어가 있습니다:

  • 메모리 관리가 프로그래머의 완전한 통제하에 있지만 수동(그래서 안전하지 않을 수 있는)인 언어: C, C++, Pascal, …
  • 메모리 관리가 런타임에 의해 되므로 안전하지만 자동(그래서 프로그래머가 개입할 여지가 적거나 없는)인 언어: Java, Python, Go, Haskell, …

러스트는 이 둘을 혼합한 새로운 형태의 메모리 관리 기법을 제공합니다:

컴파일 시 올바른 메모리 관리를 강제함으로써 완전한 통제와 안전성 모두 제공.

이를 가능하게 하는 러스트의 컨셉은 명시적인 소유권입니다.

우선 메모리 관리가 이뤄지는 방식을 다시 살펴 보겠습니다.