본문 바로가기
Backend2025년 8월 24일1분 읽기

Rust 소유권 시스템 — 메모리 안전의 비밀

YS
김영삼
조회 2337
Rust 소유권 시스템 — 메모리 안전의 비밀

소유권 규칙

  • 각 값은 하나의 소유자만 가짐
  • 소유자가 스코프를 벗어나면 값이 해제
  • 한 번에 여러 불변 참조 또는 하나의 가변 참조만 가능

빌림 (Borrowing)

fn print_length(s: &String) {  // 불변 빌림
    println!("Length: {}", s.len());
}

fn add_suffix(s: &mut String) {  // 가변 빌림
    s.push_str(" World");
}

fn main() {
    let mut greeting = String::from("Hello");
    print_length(&greeting);     // 불변 빌림
    add_suffix(&mut greeting);   // 가변 빌림
    println!("{}", greeting);    // "Hello World"
}

댓글 4

서서버지기영호1년 전
3년 전에 이 글 있었으면 삽질 안 했을 텐데... 그래도 늦지 않았죠 ㅎㅎ
시시니어엔지니어(guest)1년 전
정리가 잘 되어있어서 많은 도움이 됐습니다. 감사합니다!
MML엔지니어(guest)1년 전
이 글 참고해서 사이드 프로젝트에 적용했는데 훨씬 깔끔해졌습니다.
백백엔드개발(guest)1년 전
저희 팀에서 실제로 적용해봤는데 성능이 확실히 개선됐어요.
Ctrl+Enter로 등록