Moving down slightly, we reach a level of abstraction that is found in some, but not all object-oriented languages. Many languages allow the programmer to group a collection of objects and classes together, exposing only a small number of these to the rest of the virtual application community. This ability is known by different names in different languages. In Java it is called a package, while in C++ it is termed a name space, and in Delphi it is known as a unit. All of these are heir to the idea developed in pre-OO days known as the module.
The module is simply a way to encapsulate a small community in itself, controlling the visibility from outside the module.