Language/Java & Kotlin
[Java/TIL] InnerClass 사용시 static선언을 권장하는 이유
인텔리제이와 같은 IDE에서 내부 클래스를 선언하여 개발하는 경우 아래와 같은 경고 메시지를 볼 수 있습니다. 메시지의 내용은 내부 클래스를 인스턴스가 아닌 static으로 선언하라는 경고문이죠. 0. 왜 static으로 선언해야 할까요? 그 이유는 inner 클래스는 inner static 클래스보다 메모리를 더 필요로 하고, 속도도 더 느리고, 외부 클래스가 GC(Garbage Collector) 대상에서 빠지게 되는 현상을 야기 시킴으로써 메모리 관리가 안될 수도 있기 때문입니다. 지금부터 구체적으로 살펴보겠습니다. 1. 내부 클래스(Inner Class)란? 먼저 내부 클래스에 대해서 요약해서 알아보도록 하죠. 내부 클래스란 하나의 클래스 내부에 선언된 클래스를 의미합니다. 맨 위의 예시 코드를 ..