The essence of abstraction is preserving information that is relevant in a given context, and forgetting information that is irrelevant in that context.
– John V. Guttag
In software engineering and computer science, abstraction is:
Abstraction, in general, is a fundamental concept in computer science and software development. The process of abstraction can also be referred to as modeling and is closely related to the concepts of theory and design. Models can also be considered types of abstractions per their generalization of aspects of reality.