Visibility

    • Module items are private by default (hides implementation details).
    • Parent and sibling items are always visible.
    • Use the keyword to make modules public.

    Additionally, there are advanced specifiers to restrict the scope of public visibility.

    • See the ).
    • Less commonly, you can give visibility to a specific path.
    • In any case, visibility must be granted to an ancestor module (and all of its descendants).