Pourquoi y aurait-il un avantage à utiliser une méthode statique et à passer la référence à un objet en tant que paramètre plutôt que d'appeler la méthode sur un objet?
Pour clarifier ce que je veux dire, considérez la classe suivante:
public class SomeClass {
    private double someValue;
    public SomeClass() {
        // Some constructor in which someValue is set
    }
    public void incrementValue() {
        someValue++;
    }
}Par rapport à cette implémentation alternative avec une méthode statique:
public class SomeClass {
    private double someValue;
    public SomeClass() {
        // Some constructor in which someValue is set
    }
    public static void incrementValue(SomeClass obj) {
        obj.someValue++;
    }
}Ma question ne se limite pas à cette seule classe; n'importe quel point où vous passeriez un objet au lieu de l'appeler sur une méthode est ce qui m'intéresse. Est-ce jamais avantageux? Si oui, pourquoi?