2025년 4월 6일 일요일

2강 - 러스트 기초

Rust 기초 정리 (2강)

Rust 기초 문법과 개념들을 정리


2.1 자료형 (Data Types)

Rust는 정적 타입 언어로 컴파일 타임에 자료형이 결정됨.

종류 예시 설명
정수형 i32, u64 등 부호/크기 명시
실수형 f32, f64 부동소수점 숫자
불린형 bool true / false
문자형 char 유니코드 문자
문자열 String, &str 힙 메모리 or 리터럴
튜플 (i32, f64, char) 여러 타입 묶음
배열 [i32; 3] 고정 크기 배열

2.2 불변성과 가변성 (Immutability & Mutability)

Rust는 기본적으로 변수는 불변(immutable)

let x = 10;       // 불변 변수
let mut y = 20;   // 가변 변수 (mut 키워드)
y = 30;           // 가능

안전성을 위해 기본은 불변 → 필요할 때만 mut 사용 권장.


2.3 제어문 (Control Flow)

조건문 → if, else if, else

let score = 80;
if score >= 90 {
    println!("A등급");
} else if score >= 80 {
    println!("B등급");
} else {
    println!("C등급");
}

2.4 반복문 (Loop)

반복 처리 구문 종류

문법 설명
loop 무한 반복
while 조건 반복
for 컬렉션 순회
for i in 1..=5 {
    println!("{}", i);
}

2.5 함수 (Function)

함수 정의와 반환값

fn add(a: i32, b: i32) -> i32 {
    a + b  // 세미콜론 없으면 return
}

Rust는 명시적 타입 선언 권장


2.6 클로저 (Closure)

익명 함수 (람다식)

let sum = |a: i32, b: i32| -> i32 {
    a + b
};

println!("{}", sum(3, 5));

클로저는 환경 변수 캡처 가능 (스코프 안 변수 사용 가능)


2.7 구조체 (Struct)

데이터 묶음 정의

struct User {
    name: String,
    age: u32,
}

let user = User {
    name: String::from("홍길동"),
    age: 30,
};

구조체를 이용해 객체지향 프로그래밍 스타일 가능


2.8 열거형 (Enum)

여러 값 중 하나를 표현

enum Color {
    Red,
    Green,
    Blue,
}

let c = Color::Red;

매칭 처리 가능

match c {
    Color::Red => println!("빨강"),
    Color::Green => println!("초록"),
    Color::Blue => println!("파랑"),
}

마무리 정리 Tip

Rust는 "안전하고 빠르고 현대적인 시스템 프로그래밍 언어"
기본 규칙 : 불변, 명시적, 안전성 추구
익숙해질수록 개발 생산성도 올라간다!

댓글 없음:

댓글 쓰기