I'm a bit confused about the use of getter/setters and constructors (see the below code for an example)
    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());
        }
   }
All I've learned is that we need getters/setters for security and that they can also be used to change or edit values later on.
My question is that if the constructor is the point of initialization and a default constructor is always present, why use a constructor with parameters to initialize values instead of getters/setters?. Wouldn't using the getter and setter provide security as well being able to easily change values at any stage. Please clarify this point for me.
 
     
     
     
     
     
     
     
     
     
     
     
    