Vorteil von set and get-Methoden gegenüber öffentlichen Variablen [duplizieren]

Mögliche Duplikate:
Warum Getter und Setter?

Hat es einen Vorteil, Methoden für den Zugriff auf private Variablen in Ihrer Klasse festzulegen, anstatt die Variable öffentlich zu machen?

Ist zum Beispiel der zweite Fall besser als der erste?

//Case 1
public class Shoe{
    public int size;
}

//Case 2
public class Shoe{
    private int size;
    public int getSize(){
        return size;
    }

    public void setSize(int sz){
        size = sz;
    }

}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage