[Rust] 7장 모듈

1. 모듈 

Rust의 모듈은 코드의 구조화와 재사용성을 높이는 데 중요한 역할을 하며, 모듈은 관련된 기능을 그룹화하여 코드의 가독성과 유지보수성을 향상시킵니다. Rust 모듈 시스템의 주요 개념은 다음과 같습니다.

pub fn my_function() {
    println!("Hello from my_module");
}

 

Rust의 모듈은 mod 키워드를 사용하여 정의하고, 모듈은 파일 내에서 정의할 수 있고, 별도의 파일로 분리할 수 있습니다. 기본적으로 모듈의 항목은 비공개며, pub 키워드를 사용해 공개할 수 있습니다. 공개된 항목은 모듈 외부에서 접근할 수 있습니다. 


2. 모듈 불러오기

모듈에 접근할 때는 경로를 사용합니다. 예를 들어, 위 예제에서 my_function을 호출하려면 다음과 같이 입력합니다.

use my_module::my_function;

 

모듈은 파일 시스템과 밀접하게 연결되어 있고, Rust에서는 모듈을 별도의 파일로 나눌 수 있으며, 이 경우 파일 이름이 모듈 이름과 일치해야합니다. 예를 들어, my_module.rs 파일을 만들고 그 안에 모듈을 정의할 수 있습니다. 모듈 내에 하위 모듈을 정의할 수 있습니다. 이 경우, 하위 모듈은 mod 키워드를 사용하여 선언합니다.

pub mod outer {
  pub mod inner {
    pub fn inner_function() {
        println!("Hello from inner_function");
    }
  }
}

 

Rust 프로젝트는 하나의 크레이트로 구성되며, 크레이트는 여러 모듈을 포함할 수 있고, 모듈은 또 다른 하위 모듈을 포함할 수 있습니다. 크레이트는 Cargo.toml에 정의되어 있습니다. 이제 다른 모듈에서 항목을 사용하려면 use 키워드를 사용하여 해당 항목을 가져올 수 있습니다.

mod my_module;

use my_module::my_function;
use my_module::outer::inner::inner_function;

fn main() {
    my_function();
    inner_function();
}

 

 

GitHub - Koras02/rust-tutorial: https://thinky.tistory.com/category/Back-End/Rust

https://thinky.tistory.com/category/Back-End/Rust. Contribute to Koras02/rust-tutorial development by creating an account on GitHub.

github.com

 

LIST

'Back-End > Rust' 카테고리의 다른 글

[Rust] 9장 동시성  (0) 2025.03.20
[Rust] 8장 제네릭  (0) 2025.03.12
[Rust] 6장 에러 처리  (0) 2025.03.08
[Rust] 5장 패턴 매칭(Pattern Matching)  (0) 2025.03.06
[Rust] 4장 데이터 타입(Data Types)  (0) 2025.03.02