¿Por qué sería una ventaja usar un método estático y pasar la referencia a un objeto como parámetro en lugar de llamar al método en un objeto?
Para aclarar lo que quiero decir, considere la siguiente clase:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
En comparación con esta implementación alternativa con un método estático:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
Mi pregunta no se limita solo a esta clase; cualquier punto en el que pasarías un objeto en lugar de llamarlo a un método es lo que me interesa. ¿Es esto ventajoso? Si es así, ¿por qué?