Rust 언어 기초 문법 완벽 정리 #2

2026. 8. 6. 22:01·Programming/Rust

이전 포스트에 이어서 

https://raycho-dev.tistory.com/164

 

Rust 언어 기초 문법 완벽 정리 #1

최근 시스템 프로그래밍 언어 중 가장 주목받고 있는 언어가 바로 Rust입니다. Rust는 메모리 안전성(Memory Safety)과 높은 성능을 동시에 제공하며, C/C++를 대체할 차세대 언어로 평가받고 있습니다.

raycho-dev.tistory.com

9. 배열(Array)

고정 길이 배열

let numbers = [1, 2, 3, 4, 5];

println!("{}", numbers[0]);

 

배열 순회

for num in numbers {
    println!("{}", num);
}

 

10. 튜플(Tuple)

여러 타입을 하나로 묶을 수 있습니다.

let user = ("Kim", 30, true);

 

접근

println!("{}", user.0);
println!("{}", user.1);

 

11. 구조체(Struct)

Java의 클래스 비슷한 개념입니다.

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

 

생성

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

 

사용
println!("{}", user.name);

 

12. 열거형(Enum)

여러 상태를 표현할 때 사용합니다.

enum Direction {
    Up,
    Down,
    Left,
    Right,
}

 

사용
let dir = Direction::Up;

 

13. match 문

Rust의 강력한 패턴 매칭 기능입니다.

let num = 3;

match num {
    1 => println!("One"),
    2 => println!("Two"),
    3 => println!("Three"),
    _ => println!("Other"),
}

 

14. Option 타입

Rust에서는 null 대신 Option을 사용합니다.

let user: Option<String> = Some(String::from("Kim"));

 

사용 예
match user {
    Some(name) => println!("{}", name),
    None => println!("데이터 없음"),
}

 

15. Result 타입

에러 처리를 위한 타입입니다.

fn divide(a: f64, b: f64) -> Result<f64, String> {
    if b == 0.0 {
        Err(String::from("0으로 나눌 수 없습니다"))
    } else {
        Ok(a / b)
    }
}

 

사용
match divide(10.0, 2.0) {
    Ok(value) => println!("{}", value),
    Err(err) => println!("{}", err),
}

 

16. 소유권(Ownership)

Rust의 핵심 개념입니다.

let s1 = String::from("hello");
let s2 = s1;

 

위 코드에서 소유권은 s1에서 s2로 이동(Move)합니다.

println!("{}", s1);

 

위 코드는 컴파일 에러가 발생합니다.

 

참조(Borrowing)

let s1 = String::from("hello");

print_str(&s1);

println!("{}", s1);

fn print_str(text: &String) {
    println!("{}", text);
}

 

소유권을 넘기지 않고 사용할 수 있습니다.

 

17. 벡터(Vector)

동적으로 크기가 늘어나는 배열입니다.

let mut numbers = Vec::new();

numbers.push(10);
numbers.push(20);
numbers.push(30);

 

또는

let numbers = vec![1, 2, 3];

 

마무리

Rust는 문법 자체는 비교적 단순하지만, 소유권(Ownership), Borrowing, Lifetime과 같은 독특한 개념 덕분에 메모리 안정성을 보장합니다.

'Programming > Rust' 카테고리의 다른 글

Rust 언어 기초 문법 완벽 정리 #1  (0) 2026.08.05
Rust 개발환경 구성 (Windows)  (0) 2026.07.25
'Programming/Rust' 카테고리의 다른 글
  • Rust 언어 기초 문법 완벽 정리 #1
  • Rust 개발환경 구성 (Windows)
레이조(RayCho)
레이조(RayCho)
개발자 레이조(RayCho)의 블로그입니다. 똑똑하게 배우고 기록하는 공간
  • 레이조(RayCho)
    레이(Ray)의 개발이야기
    레이조(RayCho)
  • 전체
    오늘
    어제
    • 분류 전체보기 (101) N
      • Programming (101) N
        • Python (9)
        • Flutter (4)
        • Delphi (25)
        • Java,Spring Boot (2) N
        • Lazarus (2)
        • C#.NET (20)
        • ASP.NET (5)
        • Database (8)
        • Game Dev (6)
        • Rust (3)
        • PHP (3)
        • Web (6)
        • ETC (8)
  • 블로그 메뉴

    • 홈
    • Introduce
    • 태그
  • 링크

    • Naver Blog
    • Diary Blog
  • 공지사항

  • 인기 글

  • 태그

    문법
    csharp
    iis
    delphi
    프로그래밍
    개발환경
    PSP
    델파이
    기초
    WPF
    프로젝트
    Python
    C#
    objectpascal
    VCL
    mssql
    ASP.NET
    소스코드
    Web
    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
레이조(RayCho)
Rust 언어 기초 문법 완벽 정리 #2
상단으로

티스토리툴바