os metodos setters e getters do objeto Data não deveriam ser criados na classe Data?
os metodos setters e getters do objeto Data não deveriam ser criados na classe Data?
Boa noite Felipe, não estou realizando este curso, mas teoricamente sim.
Você pode compartilhar o código para que eu olhe com você?
Olá Felipe, o meu código é o seguinte
class Funcionario{
    private String nome;
    private String departamento;
    private double salario;
    private Data dataEntrada = new Data();
    private String rg;
    public void setNome(String n){
        this.nome = n;
    }
    public String getNome(){
        return this.nome;
    }
    public void setDepartamento(String dep){
        this.departamento = dep;
    }
    public String getDepartamento(){
        return this.departamento;
    }
    public void setSalario(double valor){
        this.salario = valor;
    }
    public double getSalario(){
        return this.salario;
    }
    public void setData(Data d){
        this.dataEntrada = d;
    }
    public Data getData(){
        return this.dataEntrada;
    }
    public void setRg(String r){
        this.rg = r;
    }
    public String getRg(){
        return this.rg;
    }
    public void recebeAumento(double aumento){
        this.salario += aumento;
    }
    public double getGanhoAnual(){
        return this.salario * 12;
    }
    public double somaDecimoTerceiro(){
        return this.getGanhoAnual() + this.salario;
    }
    public void mostra(){
        System.out.println("Nome: " + this.nome);
        System.out.println("Departamento: " + this.departamento);
        System.out.println("Salario: "+ this.salario);
        System.out.println("Data de Entrada: " + this.dataEntrada);
        System.out.println("RG: " + this.rg);
        System.out.println("Data de entrada: " + this.dataEntrada.getFormatada());
    }
}
No caso os getters e setter para o objeto Data foram criado para que a classe Funcionario possa receber o objeto Data, ou seja, em uma classe de teste você irá criar um objeto do tipo data e passar para o seu objeto Funcionario por meio do setter e quando você quer buscar alguma coisa deve ir pelo meio do getter, esse não é o melhor exemplo, pelo que me lembro mais para a frente você irá criar o objeto Data dentro da classe Funcionario.
Em resumo, o getter e o setter estão aí somente para você passar ou recuperar um objeto do tipo Data do Funcionário.
Espero ter ajudado.
Isso mesmo Joel, está muito bem explicado. Eu só acrescentaria explicando o que é o getter and setter.
O método getter é utilizado para recuperar a informação ou valor de algum atributo, sem ter que utilizar o atributo diretamente. O Método setter é utilizado para setar um valor dentro deste atributo.
Isto é um dos principios de Orientação a Objeto.
E segundo o código do Joel, você quer settar ou pegar o valor do atributo dataEntrada...
private Data dataEntrada = new Data();
...que é do tipo Data e que será instanciado na sua classe main. Por isso o motivo deles serem criados na classe Funcionario. O atributo esta sendo criado nela, logo os getters and setter tbm.
Ótima explicação, estou em fase de assimilação do paradigma ainda. Estarei praticando para melhorar, obrigado!