a) Herança. - propriedade de OOP na qual um objeto herda caracteristicas de uma classe.
b) Encapsulamento. - proteção de parte da classe da infleuncia de outras partes do sistema (private, protected || package class)
c) Instanciamento - criação de um objeto a partir de uma classe
d) Polimorfismo estático. - overloading (definição do comportamento do metodo em compiling time). Basicamente significa varios metodos com mesmo nome mas com parametros distintos
e) Polimorfismo dinâmico. - overriding. criação de subclasses que determinam o metodo durante runtime