private 메서드가 내부 클래스에서만 호출되면 해당 내부 클래스로 이동시키지 않을 이유가 없습니다. 그렇게해도 바깥 계층의 클래스 멤버들이 여전히 동일한 접근 권한을 갖습니다. 게다가 코드는 훨씬 명확해지고 덜 혼란스러워질 겁니다.
규칙을 어긴 코드
public class Outie {
private int i=0;
private void increment() { // 규칙을 어긴 코드
i++;
}
public class Innie {
public void doTheThing() {
Outie.this.increment();
}
}
}
규칙을 준수한 코드
public class Outie {
private int i=0;
public class Innie {
public void doTheThing() {
increment();
}
private void increment() {
Outie.this.i++;
}
}
}
If you like SONARKUBE, don’t forget to give me a star.