Rust 튜토리얼 목차

Chapter 2 - Conclusion

Rust의 핵심 개념인 소유권, 빌림, 그리고 빌림 검사기에 대해 배웠습니다.

이러한 개념들은 Rust의 메모리 관리 체계의 핵심이며, 이를 이해하고 올바르게 사용함으로써 메모리 안전성과 효율성을 높일 수 있습니다.

Rust의 강력한 컴파일러와 빌림 검사기는 코드가 메모리 안전성을 보장하도록 도와줍니다.

오류의 원인은 변수 s에 대한 변경 가능한 참조(r3)와 변경 불가능한 참조(r1과 r2)가 동시에 존재하기 때문입니다. Rust의 빌림 규칙에 따라, 한 번에 여러 개의 변경 불가능한 참조가 허용되지만, 변경 가능한 참조가 있는 동안에는 다른 참조가 허용되지 않습니다.

fn main() {
    let mut s = String::from("hello");
    {
        let r1 = &s;
        let r2 = &s;
        println!("r1: {}, r2: {}", r1, r2);
    }
    let r3 = &mut s;
    println!("r3: {}", r3);
}

위 수정된 코드에서는 r1과 r2가 사용되는 범위를 별도의 블록으로 감싸서 변경 불가능한 참조들의 수명을 줄였습니다. 이렇게 하면 r3를 선언할 때 변경 불가능한 참조들이 이미 끝났기 때문에 컴파일 오류가 발생하지 않습니다. 이렇게 수명을 조절하면 Rust의 빌림 규칙을 준수하면서 안전한 코드를 작성할 수 있습니다.