Ventaja de establecer y obtener métodos vs variable pública [duplicado]
Posible duplicado:
¿Por qué usar getters y setters?
¿Hay alguna ventaja en hacer métodos para acceder a variables privadas en su clase en lugar de hacer pública la variable?
Por ejemplo, ¿el segundo caso es mejor que el primero?
//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;
}
}