No que diz respeito à Orientação a Objetos, dois princípios são
caracterizados a seguir:
I. faz com que detalhes internos do funcionamento dos
métodos de uma classe permaneçam ocultos para os objetos.
O conhecimento a respeito da implementação interna da
classe é desnecessário do ponto de vista do objeto, uma vez
que isso passa a ser responsabilidade dos métodos internos
da classe.
II. indica a capacidade de abstrair várias implementações
diferentes em uma única interface. As classes derivadas de
uma única classe base são capazes de invocar os métodos
que, embora apresentem a mesma assinatura, comportam-se
de maneira diferente para cada uma das classes derivadas.
Os princípios caracterizados em I e II são respectivamente
denominados