The process of removing physical, spatial, or temporal details to focus on a generalized importance.
Abstraction manages complexity of a system by hiding internal details and composing it into smaller systems. Abstraction is implemented in most object-oriented programming languages with class
keyword. Class is an implementation of a concrete data structure with functionality implemented in methods.