Programaç?o Orientada a Objetos (também conhecida pela sua sigla POO) é um modelo de análise, projeto e programaç?o de software baseado na composiç?o e interaç?o entre diversas unidades chamadas de 'objetos'. A POO é um dos 4 principais paradigmas de programaç?o (as outras s?o programaç?o imperativa, funcional e lógica). Os programas s?o arquitetados na forma de objetos que interagem entre si. Dentre as várias abordagens da POO, as baseadas em classes s?o as mais comuns: objetos s?o instâncias de classes, o que em geral também define o tipo do objeto. Assim, na POO, implementa-se um conjunto de classes. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos. A alternativa mais usual ao uso de classes é o uso de protótipos.