Fala ai Davi, de boa?
Gosto muito de pensar que a gente não precisa obrigatoriamente de nada, pera, como assim ?
Vamos lá, a galera sai gerando a rodo um monte de código porque acaba ouvindo que precisa e tals, eu só crio um atributo, getter ou setter quando realmente preciso dele.
Por exemplo, vou fazer uma classe conta:
public class Conta{}
Bom, agora vi que minha conta precisa ter um numero e por boa prática a gente deixa private para manter o encapsulamento.
public class Conta{
private String numero;
}
Percebe que até agora não tem necessidade nenhuma de nada.
Contudo preciso passar o valor do numero em algum momento, pensando por esse lado, seria muito legal assim que eu criar a classe já passar via construtor:
public class Conta{
private String numero;
public Conta(String numero){
this.numero = numero;
}
}
Em alguma classe que eu usa a conta, eu quero ver o numero associado a ela, bom, nesse momento eu preciso de um getter para ter acesso a esse atributo:
public class Conta{
private String numero;
public Conta(String numero){
this.numero = numero;
}
public String getNumero(){
return this.numero;
]
}
Da forma que está, resolvemos o problema de atribuir o valor e também conseguir recuperar o valor desse atributo e não precisamos de um setter para resolver isso.