Conceitos como abstração, polimorfismo, encapsulamento e herança são considerados pilares da programação orientada a objetos. O polimorfismo, em especial,
A
tem como propósito garantir que uma classe tenha apenas uma instância, chamada de Singleton.
B
permite selecionar funcionalidades que um programa utilizará de forma dinâmica, durante sua execução.
C
consiste em abstrair as complexidades do mundo real, evitando a criação de modelos anêmicos.
D
encapsula os dados de uma classe para evitar que estes sejam alvos de acessos indevidos.