Visibility
๋ชจ๋์ ๊ธฐ๋ณธ ์ ๊ทผ์๋ private ์ ๋๋ค:
- ๋ชจ๋์ ํญ๋ชฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก private ์ ๋๋ค.(๊ตฌํ์์ ์จ๊ฒจ์ง)
- ๋ถ๋ชจ์ ์ด์ ํญ๋ชฉ์์๋ ์ ๊ทผ ๊ฐ๋ฅํฉ๋๋ค.
Modules are a privacy boundary:
- Module items are private by default (hides implementation details).
- Parent and sibling items are always visible.
mod outer { fn private() { println!("outer::private"); } pub fn public() { println!("outer::public"); } mod inner { fn private() { println!("outer::inner::private"); } pub fn public() { println!("outer::inner::public"); super::private(); } } } fn main() { outer::public(); }