콘텐츠로 이동

🦀 Rust 기초 배우기: 007_println! 매크로


Rust의 가장 기본이자 중요한 출력 함수인 println! 매크로를 다룹니다.
초보자도 이해할 수 있도록 코드와 주석을 자세히 달았으며,
마지막에는 현업에서 어떻게 사용되는지도 정리했습니다.


📌 println! 매크로란?

  • Rust에서 콘솔에 텍스트를 출력할 때 사용하는 매크로(Macro)
  • 함수(function)와 다르게, 코드를 자동으로 변환해주는 특수한 도구
  • 문자열, 숫자, 변수 값을 쉽게 출력할 수 있음

🔎 개념 시각화 (Mermaid)

flowchart TD
    A[개발자 작성 코드<br/>println!("Hello, Rust!")] --> B[println! 매크로 내부 변환]
    B --> C[실제 Rust 표준 라이브러리 코드로 변환]
    C --> D[운영체제(OS) 콘솔 출력 시스템 호출]
    D --> E[콘솔에 "Hello, Rust!" 표시]

🖥 코드 예시와 주석

// 프로그램 시작 지점 (모든 Rust 프로그램은 main 함수에서 시작)
fn main() {
    // println! 매크로: "Hello, Rust!"라는 문자열을 콘솔에 출력
    println!("Hello, Rust!");

    // 중괄호 {} 안에는 변수 값을 넣을 수 있음
    let name = "철수"; // 변수 name 선언, 값은 "철수"
    println!("안녕하세요, {}님!", name); // {} 안에 name 값이 들어가서 출력됨

    // 숫자 출력도 가능
    let age = 25; // 변수 age 선언, 값은 25
    println!("나이는 {}살 입니다.", age);

    // 여러 개의 값을 출력할 수도 있음
    let city = "서울";
    println!("{}님은 {}에 살고 있고, 나이는 {}살입니다.", name, city, age);
}

💡 한 줄씩 주석 설명

fn main() { ... } → Rust 프로그램의 시작점, 실행하면 제일 먼저 실행됨

println!("Hello, Rust!"); → 따옴표 안의 문자열을 콘솔에 그대로 출력

let name = "철수"; → let 키워드로 변수를 선언 (name이라는 이름, 값은 "철수")

println!("안녕하세요, {}님!", name); → {}는 자리 표시자(placeholder), 실행 시 name 값이 들어감

let age = 25; → 정수 값을 담는 변수 선언

println!("나이는 {}살 입니다.", age); → {} 안에 age 값이 들어가서 "나이는 25살 입니다." 출력

println!("{}님은 {}에 살고 있고, 나이는 {}살입니다.", name, city, age); → 여러 개의 변수를 순서대로 {}에 채워 넣을 수 있음


🏢 현업에서 println! 활용 사례

디버깅(Debugging) → 프로그램 실행 중 변수 값이 제대로 들어오는지 확인할 때 가장 많이 사용 → 예: 서버 프로그램에서 요청이 제대로 들어왔는지 로그를 찍을 때

로그 출력 → 실제 현업에서는 println! 대신 로깅 라이브러리(log, env_logger 등)를 사용 → 하지만 기본 개념은 동일: 콘솔에 출력하여 개발자가 흐름을 확인

학습 & 테스트 코드 작성 → 초보자가 Rust 문법을 익히거나 간단한 프로그램을 만들 때 필수 도구 → 예: 알고리즘 문제 풀이 결과를 출력할 때


✅ 결론:

println!은 Rust의 "Hello, World!" 수준의 기초지만, 모든 프로그램의 디버깅과 로그의 출발점입니다. 처음에는 단순 출력만 하지만, 나중에는 에러 추적, 시스템 로그 관리 같은 실무 작업으로 확장됩니다.