benefits of encapsulation
namespace
- can pick local name without worrying about name clashes
modularity
- can reason about a small set of procedures that manipulate the encapsulated data
representation independence
- can make sure that clients have no accidental dependence on thechoice of representation