Encapsulation is the mechanism that binds together code and data, and keeps both safe from outside interference or misuse.
1. Both data and member functions treated as single unit
2. Abstract focuses on behavior of object, encapsulation focuses on actual implementation
3. Encapsulation achieved through data hiding
4. For abstractions to work, implementations must be encapsulated.

