Encapsulation is a process of binding or wrapping
the data and the codes that operates on the data into a single entity.
This keeps the data safe from outside interface and misuse. One way to
think about encapsulation is as a protective wrapper that prevents code
and data from being arbitrarily accessed by other code defined outside