정적 메소드를 사용하고 오브젝트에 대한 메소드를 호출하는 대신 오브젝트에 대한 참조를 매개 변수로 전달하는 이점이있는 이유는 무엇입니까?
내가 의미하는 바를 명확히하기 위해 다음 클래스를 고려하십시오.
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
정적 메소드를 사용한이 대체 구현과 비교하면 다음과 같습니다.
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
내 질문은이 수업에만 국한되지 않습니다. 메소드에서 객체를 호출하는 대신 객체를 전달하는 지점은 제가 관심있는 것입니다. 이것이 유리합니까? 그렇다면 왜 그렇습니까?