패키지는 배포 단위이고, 크레이트는 컴파일 단위이며, 모듈은 코드 조직과 공개 범위를 정합니다.
Cargo.toml
패키지 이름, 버전, 의존성을 선언하는 시작점입니다.
src/main.rs
실행 파일 크레이트가 시작되는 루트 파일입니다.
src/lib.rs
공유 로직을 노출하는 라이브러리 크레이트 루트입니다.
src/bin/
여러 실행 파일을 같은 패키지에 둘 때 쓰는 위치입니다.
하나의 패키지 안에 여러 크레이트가 들어갈 수 있습니다.
binary와 library는 각각 다른 크레이트 루트를 가집니다.
파일을 찾은 뒤 mod와 pub으로 공개 범위를 확인합니다.