La programación orientada a objetos es un paradigma de programación basado en objetos. Se caracteriza por la abstracción, encapsulamiento, polimorfismo y herencia. Surge en los años 1960 con el lenguaje Simula y se populariza en los años 1990. Algunas ventajas incluyen evitar código redundante a través de la herencia, y dividir proyectos en módulos comunicables.