- Published on
Rust의 매크로는 컴파일 시점에 코드를 생성하는 메타프로그래밍 도구입니다. 패턴 기반의 선언적 매크로(macro_rules!)와, 코드를 토큰 스트림으로 받아 조작하는 절차적 매크로(derive·attribute·function-like)를 구분해 설명합니다. serde의 #[derive(Serialize)]가 실제로 무엇을 하는지, syn과 quote로 TokenStream을 다루는 흐름, 그리고 매크로를 쓰지 말아야 할 때까지 짚습니다.