[Java] 내부 클래스의 접근성 내부클래스에서 중요한 것은, static 클래스만 static 멤버를 정의할 수 있다는 것이다. static 멤버는 객체 생성 없이 사용 가능해야하기 때문에 클래스도 static 클래스여야 한다. (단, final static은 상수이므로 가능) static 내부클래스에서는 외부클래스의 인스턴스 멤버에 접근할 수 없다. 클래스 변수가 인스턴스 변수에 접근할 수 없는 것과 원리는 같다. (출처: 유튜브 남궁성의 정석코딩) Java 2021.11.10
[Java] 내부 클래스 (inner class, 중첩된 클래스) 내부 클래스는 말 그대로 class 안에 또 다른 class를 넣는 것이다. 클래스 내부에 구현한 중첩된 클래스이며, 클래스 내부에서 사용하기 위해 선언하고 구현하는 클래스이다. 주로 외부 클래스 생성자에서 내부 클래스를 생성한다. class A { // 외부 클래스 class B { } // 내부 클래스 } 내부 클래스를 만들면 객체 생성 없이도 외부 클래스(class A)의 멤버에 쉽게 접근이 가능하다. 또한 코드의 복잡성을 줄일 수 있다. 내부 클래스에는 아래와 같은 종류가 있다. class Outer { class InstanceInner {} // 인스턴스 내부 클래스 static class StaticInner {} // 스태틱 내부 클래스 void myMethod() { class Local.. Java 2021.08.19