Start here. This is the direct spoken answer to practice first.
Overview
The concepts often appear together, but they solve different design problems.
Abstraction defines the essential contract a caller works with and hides implementation choices that should not matter to that caller. Encapsulation controls access to an object's state and behavior so its rules cannot be bypassed. A PaymentGateway abstracts how payment is performed. An Order encapsulates its status and allows changes only through operations such as confirm or cancel. The same class can use both: it can expose a small abstraction while encapsulating the data and logic behind it.