La programación orientada a objetos es un paradigma de programación basado en objetos que interactúan entre sí. Utiliza técnicas como la herencia, abstracción, polimorfismo y encapsulamiento. La herencia permite que los objetos obtengan características de otros objetos existentes. La abstracción expresa las características esenciales de un objeto. El polimorfismo permite que los objetos respondan de manera diferente al mismo mensaje dependiendo de sus parámetros.