Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

시작하기: 설치부터 첫 번째 프로젝트까지

학습 목표: Rust 개발 환경을 구축하고, 파이썬의 pip/Poetry와 대응되는 Cargo 빌드 시스템을 익힙니다. 첫 번째 Hello, World! 프로그램을 작성하며 파이썬과 Rust의 근본적인 문법 차이를 이해하고 핵심 키워드들을 살펴봅니다.


1. Rust 설치 및 도구 비교

파이썬 개발자에게 익숙한 도구들이 Rust에서는 어떻게 매칭되는지 확인해 보세요.

용도PythonRust비고
패키지 관리pip / poetrycargo빌드, 테스트, 배포를 모두 처리
설정 파일pyproject.tomlCargo.toml의존성 및 프로젝트 메타데이터 관리
가상 환경venv / conda필요 없음프로젝트별로 독립된 바이너리 생성
포매터black / ruffcargo fmt표준 스타일로 자동 교정
린터pylint / ruffcargo clippy성능 및 버그 위험군 탐지
테스트pytestcargo test언어 자체에 테스트 기능 내장

2. 첫 번째 프로그램: Hello, World!

파이썬은 스크립트를 바로 실행하지만, Rust는 컴파일 과정을 거칩니다.

// src/main.rs
fn main() {
    // println!은 함수가 아니라 '매크로'입니다 (!가 붙음)
    println!("Hello, World!");
}
# 실행 방법
cargo run

파이썬 개발자가 느끼는 주요 차이점

  • 진입점: 파이썬은 파일의 첫 줄부터 실행되지만, Rust는 반드시 main 함수에서 시작합니다.
  • 세미콜론: 각 실행문의 끝에는 반드시 ;를 붙여 문장의 끝임을 알려야 합니다.
  • 정적 타입: 변수의 타입은 컴파일 타임에 결정됩니다 (파이썬의 mypy가 강제되는 셈입니다).

3. 핵심 키워드 엿보기

파이썬과 비교하여 Rust의 핵심 키워드들을 빠르게 훑어봅니다.

  • let / let mut: 변수를 선언합니다. Rust는 기본적으로 모든 변수가 **불변(Immutable)**입니다. 값을 바꾸려면 반드시 mut를 붙여야 합니다.
  • match: 파이썬 3.10의 match-case와 유사하지만, 모든 경우의 수를 처리하지 않으면 컴파일 에러가 납니다.
  • struct / impl: 파이썬의 클래스와 비슷하지만 데이터(struct)와 로직(impl)을 분리하여 정의합니다.
  • pub: 파이썬의 _(private 관례)와 달리, Rust는 pub을 붙이지 않으면 모듈 외부에서 접근할 수 없습니다.

💡 실무 팁: cargo check의 마력

코드를 짤 때 매번 cargo build를 할 필요는 없습니다. cargo check를 사용하면 실행 파일을 만들지 않고 타입 오류만 빠르게 체크해주므로 개발 속도를 획기적으로 높일 수 있습니다.