본문 바로가기

언어/Rust

[ Rust ] 가변변수/불변변수 선언하고 사용하기

반응형

Rust에서는 변수를 선언할 때 기본적으로 불변(immutable) 상태입니다. 즉, 한 번 값을 할당하면 변경할 수 없습니다. 그러나, 필요에 따라 가변(mutable) 변수도 선언할 수 있습니다. 이러한 변수의 가변성과 불변성에 대한 기본 원리와 관련 키워드에 대해 설명하겠습니다.

1. 불변 변수 (Immutable Variables)

불변 변수는 기본적으로 값이 변경되지 않는 변수입니다. Rust에서 변수는 기본적으로 불변으로 선언됩니다.

  • 선언 및 사용 예제
fn main() {
    let x = 5;
    println!("The value of x is: {}", x);

    // x = 6; // 컴파일 오류: x는 불변 변수로 선언되었기 때문에 값을 변경할 수 없습니다.
}

위 예제에서 let x = 5;는 불변 변수를 선언하고 값을 5로 할당합니다. 이후에 x의 값을 변경하려고 하면 컴파일 오류가 발생합니다.

3. 가변 변수 (Mutable Variables)

가변 변수는 값을 변경할 수 있는 변수입니다. 가변 변수로 선언하려면 mut 키워드를 사용합니다.

  • 선언 및 사용 예제
fn main() {
    let mut x = 5;
    println!("The initial value of x is: {}", x);

    x = 6;
    println!("The updated value of x is: {}", x);
}

위 예제에서 let mut x = 5;는 가변 변수를 선언하고 값을 5로 할당합니다. 이후에 x의 값을 6으로 변경할 수 있으며, 변경된 값을 출력할 수 있습니다.

5. 변수의 가변성과 불변성 원리

  • 기본 불변성: Rust는 기본적으로 모든 변수를 불변으로 만듭니다. 이는 데이터 경합 및 예기치 않은 값 변경으로부터 보호하여 코드의 안정성과 예측 가능성을 높입니다.
  • 가변성 필요 시 명시적 선언: 가변 변수가 필요할 때는 mut 키워드를 사용하여 명시적으로 선언해야 합니다. 이는 가변 변수가 필요한 부분을 명확히 구분할 수 있게 해주며, 코드의 가독성과 유지보수성을 높입니다.

6. 상수 (Constants)

Rust에서는 const 키워드를 사용하여 상수를 선언할 수 있습니다. 상수는 변경될 수 없으며, 프로그램 전체에서 동일한 값을 갖습니다. 상수는 반드시 타입을 명시해야 합니다.

  • 선언 및 사용 예제
fn main() {
    const MAX_POINTS: u32 = 100_000;
    println!("The maximum points are: {}", MAX_POINTS);
}

위 예제에서 const MAX_POINTS: u32 = 100_000;MAX_POINTS라는 상수를 선언하고 값을 100,000으로 설정합니다. 상수는 프로그램이 실행되는 동안 변경될 수 없습니다.

8. 가변성과 불변성의 예

다음은 가변성과 불변성을 사용하여 변수와 상수를 선언하고 사용하는 예제입니다.

fn main() {
    let x = 5; // 불변 변수
    println!("The value of x is: {}", x);

    let mut y = 10; // 가변 변수
    println!("The initial value of y is: {}", y);

    y = 15;
    println!("The updated value of y is: {}", y);

    const MAX_POINTS: u32 = 100_000; // 상수
    println!("The maximum points are: {}", MAX_POINTS);
}

이 예제에서는:

  • x는 불변 변수로 선언되어 값을 변경할 수 없습니다.
  • y는 가변 변수로 선언되어 값을 변경할 수 있습니다.
  • MAX_POINTS는 상수로 선언되어 변경될 수 없습니다.

요약

  • 불변 변수: 기본적으로 모든 변수는 let 키워드로 선언되며, 불변(immutable) 상태입니다.
  • 가변 변수: mut 키워드를 사용하여 가변(mutable) 변수로 선언할 수 있으며, 값을 변경할 수 있습니다.
  • 상수: const 키워드를 사용하여 상수를 선언하며, 반드시 타입을 명시해야 하고, 프로그램 전체에서 값이 변경될 수 없습니다.

Rust의 변수 가변성과 불변성은 코드의 안정성과 예측 가능성을 높여주는 중요한 원칙 중 하나입니다. 이를 통해 데이터 경합 및 예기치 않은 값 변경으로부터 프로그램을 보호할 수 있습니다.

반응형