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.

questionAnswers(10)

yourAnswerToTheQuestion