La Programación Orientada a Objetos (OPP) permite desarrollar y mantener programas de gran complejidad más fácilmente mediante el uso de clases, objetos, herencia, encapsulamiento y polimorfismo. Las clases representan conjuntos de objetos con comportamientos y características comunes, mientras que los objetos son instancias concretas de una clase. La herencia permite reutilizar código al heredar atributos y métodos de una superclase. El encapsulamiento oculta los datos de un objeto y sólo permite modificarlos a trav