본문으로 건너뛰기
Advertisement

Rust와 소유권(Ownership) 시스템

1. 러스트(Rust) 소개

메모리 안전성과 성능을 동시에 잡기 위해 설계된 시스템 프로그래밍 언어입니다. C++의 성능과 높은 안전성을 목표로 합니다.

  • 특징: 소유권(Ownership) 모델, 가비지 컬렉터(GC) 없음, 무비용 추상화(Zero-cost Abstraction).
  • 장점: 런타임 에러를 컴파일 타임에 잡아주어 매우 안정적인 코드를 작성할 수 있습니다.
  • 활용 분야: 운영체제 핵심부, 고성능 서버 엔진, 웹어셈블리(Wasm), 블록체인.

2. 러스트 도구 설치 (rustup)

가장 권장되는 방식은 rustup을 사용하는 것입니다.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

설치 후 빌드 도구이자 패키지 매니저인 cargo 명령어를 사용할 수 있게 됩니다.


3. Hello, Rust!

fn main() {
// !가 붙은 것은 매크로를 의미합니다.
println!("Hello, Rustacean LLC!");
}

4. 핵심 개념: 소유권 (Ownership)

러스트가 GC 없이 메모리를 안전하게 관리하는 방식인 소유권의 3가지 규칙:

  1. 각각의 값은 해당 값의 소유자(owner) 라고 불리는 변수를 가지고 있다.
  2. 한 시점에 소유자는 단 하나 뿐이다.
  3. 소유자가 스코프(Scope)를 벗어나면, 값은 버려진다(dropped).
Advertisement