Rust 기초 문법 익히기 | 변수, 상수, 데이터 타입
Rust 언어 기초 문법: 변수, 상수, 데이터 타입 이해하기
Rust는 안전성과 성능을 모두 갖춘 시스템 프로그래밍 언어로, C/C++의 대안으로 각광받고 있습니다. 이 글에서는 Rust를 처음 접하는 입문자를 위해 Rust 변수 선언 방법, 상수 정의, 기본 데이터 타입까지 자세히 알아보겠습니다.
Rust에서 변수 선언하기
Rust에서 변수를 선언할 때는 기본적으로 let
키워드를 사용합니다. 기본적으로 변수는 불변(immutable)이며, 변경 가능한 변수는 mut
키워드를 붙여야 합니다.
// 불변 변수
let x = 5;
// 가변 변수
let mut y = 10;
y = 20;
Rust는 변수의 타입을 자동으로 추론해 주지만, 명시적으로 타입을 지정할 수도 있습니다.
let a: i32 = 100;
let name: &str = "Rust";
상수 선언 방법
Rust에서 상수는 const
키워드를 사용하여 선언하며, 항상 타입을 명시해야 합니다. 그리고 상수는 반드시 컴파일 타임에 결정 가능한 값이어야 하며, 전역 범위에서 선언 가능합니다.
const MAX_POINTS: u32 = 100_000;
상수는 변수와 달리 mut
키워드를 사용할 수 없으며, 값은 변경될 수 없습니다.
데이터 타입의 종류
Rust는 정적 타입 언어로, 모든 변수는 특정 타입을 가져야 하며 컴파일 타임에 타입이 결정됩니다. 기본적으로 Rust에는 다음과 같은 데이터 타입이 있습니다:
1. 정수(Integer)
- 부호 있는 정수:
i8, i16, i32, i64, i128
- 부호 없는 정수:
u8, u16, u32, u64, u128
기본 정수 타입은 i32
입니다.
2. 부동 소수점(Floating Point)
f32
: 32비트 소수f64
: 64비트 소수 (기본 타입)
let pi: f64 = 3.1415;
3. 불리언(Boolean)
참/거짓 값을 나타내며, 타입은 bool
입니다.
let is_rust_fun: bool = true;
4. 문자(Character)
Rust의 char
타입은 유니코드 스칼라 값을 표현하며, 단일 문자뿐 아니라 이모지 등도 지원합니다.
let heart = '❤';
let letter = 'A';
5. 튜플(Tuple)
여러 개의 값을 묶어서 하나의 값으로 저장할 수 있습니다. 서로 다른 타입도 저장할 수 있습니다.
let person: (i32, &str, f64) = (1, "Alice", 72.5);
6. 배열(Array)
같은 타입의 값을 고정된 길이로 저장하는 자료구조입니다.
let numbers = [1, 2, 3, 4, 5];
let zeros: [i32; 3] = [0; 3];
Shadowing: 변수 다시 선언하기
Rust에서는 같은 이름으로 변수를 다시 선언하는 Shadowing 기능을 제공합니다. 이 기능은 변수를 새로운 타입이나 값으로 덮어쓸 때 유용하게 사용됩니다.
let x = 5;
let x = x + 1;
let x = x * 2;
println!("x = {}", x); // 출력: x = 12
Shadowing은 mut
와 달리 완전히 새로운 변수로 취급되기 때문에 타입도 변경할 수 있다는 점이 특징입니다.
결론: Rust 기초 문법은 안전한 코드 작성을 위한 출발점
Rust의 변수와 상수, 그리고 데이터 타입은 메모리 안전성과 안정성을 고려해 설계되어 있습니다. 이러한 문법 구조 덕분에 런타임 오류를 줄이고, 컴파일 타임에 문제를 예방할 수 있습니다.
이제 변수와 타입을 이해했다면, 다음으로는 조건문, 반복문, 함수 선언 등 기본 로직을 구성하는 문법을 익혀보세요. Rust는 복잡해 보이지만, 익숙해질수록 그 강력함을 체감할 수 있는 언어입니다.