File split

mod 선언 위치가 컴파일러의 파일 탐색 위치를 정한다

모듈 트리의 부모와 자식 관계를 먼저 보고, 그 관계에 맞는 파일 경로로 본문을 옮깁니다.

크레이트 루트

src/lib.rs

부모 모듈을 선언합니다.

부모 모듈 파일

src/front_of_house.rs

front_of_house 본문 또는 자식 선언을 둡니다.

부모 모듈 파일

src/front_of_house.rs

자식 모듈 hosting을 선언합니다.

자식 모듈 파일

src/front_of_house/hosting.rs

hosting의 실제 아이템을 정의합니다.

한 번만 선언

mod는 모듈 트리에 파일을 연결하는 선언입니다.

경로로 사용

다른 파일에서는 crate 경로나 use로 이미 선언된 모듈을 참조합니다.

트리 유지

파일을 나눠도 공개 여부와 모듈 경로는 그대로 유지됩니다.