Este documento explica conceptos clave de la programación orientada a objetos como clases, objetos, estados, comportamientos, identidad, asociación, herencia, agregación y metaclases. Las clases son abstracciones que definen los datos y operaciones de un objeto, mientras que los objetos son instancias concretas de una clase. Los objetos tienen estado, que representa sus propiedades actuales, y comportamiento, que son las acciones que pueden realizar.