La programación orientada a objetos es un paradigma de programación que utiliza objetos que manipulan datos de entrada para producir datos de salida específicos. Las clases permiten abstraer datos y operaciones como cajas negras y soportan diversas formas de herencia. Un objeto representa una entidad con estado, comportamiento e identidad definida.