public void atualizarSalario(BigDecimal novoSalario) {
this.dadosPessoais.setSalario(novoSalario);
this.dataUltimoReajuste = LocalDate.now();
}
public void promover(Cargo novoCargo) {
this.dadosPessoais.setCargo(novoCargo);
}
Lá na classe Funcionario ao definir os métodos acima, vc está quebrando o encapsulamento... visto que pode chamar esses caras diretos sem passar pelas validacoes, nesse caso o que sugere fazer?