O conceito de abstração de processo está entre os mais antigos nos projetos de linguagens de
programação. Como evolução das abstrações de processos, surgiu a abstração de dados. A
programação orientada a objetos é, portanto, uma aplicação do princípio de abstração para tipos de
dados, com a peculiaridade de ser capaz ainda de fornecer suporte à herança e vinculação dinâmica de
chamadas aos subprogramas do tipo criado, os métodos. Um propósito para essa vinculação dinâmica é
permitir que os sistemas de software sejam mais bem estendidos durante o desenvolvimento e a
manutenção. Essa característica é conhecida como: