Data hiding
The programming interface consists of the public member functions.
The programmer reads and modifies values in the data representation by calling public member functions.
If the class is properly designed, the user cannot modify the data members of the object without going through the prescribed interface.