La programación orientada a objetos es una técnica de desarrollo de software que utiliza componentes de software llamados objetos. Un objeto contiene tanto sus características como su comportamiento, y se accede a través de su interfaz. En la programación orientada a objetos, un coche sería un objeto con propiedades como el color y métodos como arrancar o detenerse. La programación orientada a objetos se basa en objetos que contienen sus características y comportamientos de forma independiente pero interrelacionada con otros objetos.