Abstraction (computer science)
Technique for arranging complexity of computer systems / From Wikipedia, the free encyclopedia
In software engineering and computer science, abstraction is the process of generalizing concrete details,[1] such as attributes, away from the study of objects and systems to focus attention on details of greater importance.[2] Abstraction is a fundamental concept in computer science and software engineering, especially within the object-oriented programming paradigm.[3] Examples of this include:
- the usage of abstract data types to separate usage from working representations of data within programs;[4]
- the concept of functions or subroutines which represent a specific way of implementing control flow;
- the process of reorganizing common behavior from groups of non-abstract classes into abstract classes using inheritance and sub-classes, as seen in object-oriented programming languages.