La programación orientada a objetos es un paradigma que organiza el código en unidades llamadas clases, las cuales definen los atributos y comportamientos de un objeto. Las clases sirven como plantillas para crear objetos concretos como instancias de la clase. Los objetos comparten la lógica definida en su clase pero tienen sus propios estados de forma independiente. La programación orientada a objetos se enfoca en modelar el mundo real mediante objetos que interactúan entre sí.