Este documento describe los conceptos fundamentales de la programación orientada a objetos. Explica que la POO se basa en definir clases que representan objetos del dominio del problema y sus relaciones. Las clases encapsulan el estado de los objetos a través de atributos y su comportamiento a través de métodos. Los objetos son instancias concretas de las clases que se comunican mediante mensajes.