Programação Orientada a ObjetosClasses e ObjetosEncapsulamento de propriedades, getters e settersHerançaSobrescrevendo funcionalidades da classe baseAtributos da classe e métodos estáticosSuperclasse ObjectSobrecarga de operadoresClasses e métodos abstratos