La programación orientada a objetos (POO) es una técnica de programación cuyo soporte fundamental es el objeto. Los conceptos de la POO se originaron en Simula 67 y se basan en definir clases que representan objetos del mundo real, con atributos y métodos. Las principales características de la POO son la encapsulación, abstracción, polimorfismo y herencia. Existen diversos lenguajes de programación orientados a objetos como Java, C++ y Python.