La programación orientada a objetos es un paradigma surgido en los años 1970 que utiliza objetos como elementos fundamentales. Un objeto es una abstracción de un ente del mundo real con atributos y métodos. Todas las propiedades y métodos comunes a los objetos se encapsulan en clases, que son plantillas para crear objetos. Los objetos disponen de mecanismos de interacción llamados métodos que favorecen la comunicación entre ellos.