Um programador, utilizando orientação a objeto, deseja fazer com que os atributos e serviços disponíveis em uma classe estejam escondidos, de modo que o acesso aos mesmos se dê através de interfaces.
O mecanismo de orientação a objetos, adequado para essa característica, é o /a