Java: Setter Getter e construtor
Estou um pouco confuso sobre o uso de getter / setters e construtores (veja o código abaixo para um exemplo)
public class ExampleClass {
private int value = 0;
public ExampleClass () {
value = 0;
}
public ExampleClass (int i) {
this.value = i;
}
public int getValue() {
return value;
}
public void setValue(int val) {
this.value = val;
}
public static void main(String[] args) {
ExampleClass example = new ExampleClass (20);
example.setValue(20);
//Both lines above do same thing - why use constructor?
System.out.println(example.getvalue());
}
}
Tudo que aprendi é que nósprecisa de getters / setters para segurança e que eles também podem ser usados paraalterar ou editar valores mais tarde.
Minha pergunta é que, se o construtor é o ponto de inicialização e um construtor padrão está sempre presente, por que usar umconstrutor com parâmetros para inicializar valores em vez de getters / setters?. O uso do getter e do setter não forneceria segurança, além de poder alterar facilmente os valores em qualquer estágio. Por favor, esclareça este ponto para mim.