A programação orientada a objetos é um estilo de programação reciclável e fácil de desenvolver e manter. Um único objeto, criado a partir de uma classe ou protótipo, pode ser reutilizado para vários fins. Uma vantagem disponível para programadores orientados a objetos é o uso de encapsulamento, que evita a manipulação acidental ao permitir que restrições de acesso sejam definidas em partes de um objeto. Como o código orientado a objetos é fácil de navegar, as atualizações são muito mais rápidas.
Os objetos têm muitos recursos que os tornam identificáveis nas atividades diárias. Os objetos executam ações conhecidas como métodos. Dependendo do código, um objeto pode herdar ações e outras propriedades de uma hierarquia de classes ou protótipos cada vez mais abstratos. Por exemplo: Um objeto poodle e um objeto bulldog podem herdar a habilidade de latir da classe cão. A classe dos cães pode herdar ainda mais propriedades da classe dos mamíferos e assim por diante.
A programação baseada em classes e protótipos são dois tipos de programação orientada a objetos. Um objeto na programação baseada em classe é criado a partir de sua classe, que é o design original de um objeto codificado pelo desenvolvedor. Objetos na programação baseada em protótipo são criados diretamente pelo desenvolvedor, e objetos duplicados são feitos a partir desse objeto de protótipo.
Como a programação orientada a objetos é reciclável, um desenvolvedor pode pegar o código de um programa e colocá-lo facilmente em outro sem se preocupar com grandes mudanças.