Este documento explica el concepto de abstracción en programación orientada a objetos. La abstracción permite definir las propiedades y métodos comunes a una clase de objetos de forma genérica sin implementar detalles específicos. Por ejemplo, la clase "Animal" podría definir propiedades como nombre y edad y métodos abstractos como "nacer()" y "alimentarse()", pero no especificar cómo cada tipo particular de animal realiza esas acciones. Las subclases como "Perro" luego heredan y concretan la implementación de esos métodos abstractos