Este documento describe los conceptos fundamentales de la Programación Orientada a Objetos (POO). Explica que la POO surgió para hacer frente a la complejidad inherente del software mediante la abstracción y modularización. Define objetos, clases, herencia, polimorfismo y otros conceptos clave. También analiza la evolución de los lenguajes de programación orientados a objetos desde SIMULA hasta lenguajes más modernos como C++.