static이 될 수 있는 내부 클래스를 보고합니다.
static 내부 클래스는 둘러싸는 인스턴스에 대한 묵시적 참조를 유지하지 않습니다.
Java 17 이전 버전을 사용하는 경우, 이를 통해 메모리 누수의 일반적 원인을 방지하고, 클래스의 인스턴스당 메모리 사용량을 줄일 수 있습니다.
예:
public class Outer {
class Inner { // not static
public void foo() {
bar("x");
}
private void bar(String string) {}
}
}
빠른 수정을 적용한 후:
public class Outer {
static class Inner {
public void foo() {
bar("x");
}
private void bar(String string) {}
}
}