プライベートな可視性を持つインスタンス変数がある場合、セッターを使用してその値を変更する必要がありますか、それとも単に値を直接変更する必要がありますか?
この例のインスタンス変数は、このクラスでのみ変更されるため、セッターはプライベートになります。セッターを使用することは、それがどのように/いつ変更されるかをローカライズするので正しい方法だと思いますが、それは何らかの理由で私を悩ませているだけです!
私の質問をより明確に伝えるのに役立つ可能性のあるコードについては、以下を参照してください
public class A {
private int i;
public A() {
i = 5
}
private void doSomeCalculationsA() {
//work done here which results in the value of i being directly changed
i = 7
}
private void doSomeCalculationsB() {
//work done here which results in change value of i being changed via the setter
setI(5)
}
private void setI(int newValue) {
i = newValue;
}
}