La programación orientada a objetos es una forma de descomponer problemas usando objetos, mensajes y clases. Los lenguajes de programación orientados a objetos más comunes son C++ y Java. La estructura básica incluye objetos que contienen datos y métodos, mensajes para comunicar entre objetos, y clases que definen los objetos. Las características clave son la abstracción, encapsulamiento, polimorfismo, herencia y recolección de basura.