An abstraction is a general concept or idea, rather than something concrete or tangible. In computer science, abstraction has a similar definition. It is a simplified version of something technical, such as a function or an object in a program. The goal of "abstracting" data is to reduce complexity by removing unnecessary information.
At some level, we all think of computers in abstract terms. When we type a document in a word processor, we don't think of the CPU processing each letter we type and the data being saved to memory. When we view a webpage, we don't think of the binary data being transferred over the Internet and being processed and rendered by the web browser. We simply type our documents and browse the web. This is how we naturally abstract computing concepts.
Even highly technical people, such as software developers can benefit from abstraction. For instance, one of the key benefits of object-oriented programming is data abstraction. It transforms complex entities into simplified objects, which can be accessed and altered within a program. These objects, which are often called classes, may have multiple attributes and methods. By consolidating these items into a single object, it makes it easier for programmers to access and manage data within a program.
Updated: April 19, 2019