코드의 명확성을 지키기 위해 상위 클래스의 static 멤버에 접근할 때는 파생 클래스를 통해 접근해선 안됩니다. 이렇게 하는 것은 사용자를 혼란스럽게 만들고 두 개의 다른 static 멤버가 존재하는 것 같이 느껴지게 만듭니다.
규칙을 어긴 코드
class Parent {
public static int counter;
}
class Child extends Parent {
public Child() {
Child.counter++; // 규칙을 어긴 코드
}
}
규칙을 준수한 해결책
class Parent {
public static int counter;
}
class Child extends Parent {
public Child() {
Parent.counter++;
}
}
If you like SONARKUBE, don’t forget to give me a star.