La programación orientada a objetos es un paradigma basado en objetos que tienen estado, comportamiento e identidad. Los objetos interactúan entre sí mediante herencia, encapsulamiento, polimorfismo y otros principios. Los objetos representan entidades del mundo real y contienen datos (atributos) y operaciones (métodos). Las clases definen los objetos y sus propiedades comunes.