La abstracción en la programación orientada a objetos es el uso de solo aquellas características de un objeto que lo representan con suficiente precisión en un sistema dado. La idea principal es representar un objeto con un conjunto mínimo de campos y métodos y al mismo tiempo con suficiente precisión para el problema que se está resolviendo.
Es una importante herramienta OOP junto con polimorfismo , herencia y encapsulación .
La abstracción es la base de la programación orientada a objetos y le permite trabajar con objetos sin entrar en los detalles de su implementación.
La abstracción de datos es uno de los conceptos más antiguos en la programación orientada a objetos, anterior a ella. La abstracción de datos asocia un tipo de datos subyacente con un conjunto de operaciones en él (ver también tipo de datos abstractos ). El usuario de un tipo de datos no tiene acceso directo a su implementación, pero puede trabajar con los datos a través de un conjunto de operaciones proporcionado. La ventaja de la abstracción de datos es la separación de las operaciones sobre los datos de la representación interna de esos datos, lo que permite cambiar la implementación sin afectar a los usuarios del tipo de datos. [una]
Tal división se puede expresar a través de una " interfaz " especial, que concentra la descripción de todas las posibles aplicaciones del programa [2] .