You want to know the purpose of abstraction and how it differs from encapsulation.
Abstraction allows developers to model their problems at higher levels. This way, they don’t have to worry about the implementation details of a type. Encapsulation is used to hide implementation details of a type from clients. Clients can be code or people that use the encapsulated code. Abstraction is related to encapsulation, but they are not the same. Abstraction is the process of generalization.
Remote controls are real-world examples of abstraction and encapsulation. The operations a remote can perform are abstractions, while the device itself provides encapsulation.