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.