Packages have members that are related classes, interfaces, and subpackages.
Packages are useful for several reasons:
Packages create a grouping for related interfaces and classes.
Interfaces and classes in a package can use popular public names that make sense in one context but might conflict with the same name in another package.
Packages can have types and members that are available only within the package.