Abstraction is the process of identifying common patterns that have systematic variations; an abstraction represents the common pattern and provides a means for specifying which variation to use
Encapsulation is hiding the implementation details which may or may not be for generic or specialized behavior(s).