모듈 기초
Coddy Rust 여정의 Object Oriented Programming 섹션에 포함된 레슨 — 61개 중 8번째.
Rust 프로그램이 커짐에 따라, 모든 것을 하나의 파일에 유지하는 것은 다루기 힘들어집니다. Rust의 모듈 시스템을 사용하면 구조체와 그 구현을 별도의 파일로 이동하여 코드를 정리할 수 있습니다.
별도의 파일에 모듈을 생성하려면, 원하는 모듈 이름으로 새 파일을 생성하기만 하면 됩니다. 예를 들어, player 모듈을 생성하려면 player.rs라는 파일을 생성합니다:
// player.rs
struct Player {
name: String,
score: u32,
}
impl Player {
fn new(name: String) -> Player {
Player { name, score: 0 }
}
}
이 모듈을 메인 파일에서 사용하려면 mod 키워드를 사용하여 선언합니다. 이것은 Rust에게 해당 이름의 파일을 찾으라고 지시합니다:
// main.rs
mod player;
fn main() {
// 이제 player 모듈의 항목에 접근할 수 있습니다
}
mod player; 선언은 Rust에게 player.rs의 내용을 찾아 포함하도록 지시합니다. 해당 파일의 코드를 프로그램에 연결하는 것이라고 생각하면 됩니다. 모듈 이름은 파일 이름과 정확히 일치해야 합니다 (.rs 확장자 제외).
이러한 분리는 관련 코드를 함께 유지합니다. 구조체 정의와 모든 메서드가 하나의 전용 파일에 위치하게 되며, main.rs는 프로그램의 진입점에 집중할 수 있습니다. 다음 레슨에서는 모듈에 배치한 항목에 실제로 액세스하는 방법을 배우게 됩니다.
치트 시트
코드를 별도의 파일로 구성하려면 원하는 이름으로 모듈 파일을 생성하세요. 예를 들어, player.rs 파일입니다:
// player.rs
struct Player {
name: String,
score: u32,
}
impl Player {
fn new(name: String) -> Player {
Player { name, score: 0 }
}
}
메인 파일에서 이 모듈을 사용하려면 mod 키워드를 사용하여 선언하세요:
// main.rs
mod player;
fn main() {
// 이제 모듈의 내용을 사용할 수 있습니다.
}
mod player; 선언은 Rust에게 player.rs 파일을 찾아 포함하도록 지시합니다. 모듈 이름은 파일 이름과 정확히 일치해야 합니다(.rs 확장자 제외).
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.