Java

특정 클래스만
관계를 맺으면 선언하세요.
What ?
중첩 클래스
💡 클래스 내부에 정의된 클래스입니다.
💡 외부 클래스의 멤버에 쉽게 접근할 수 있습니다.
HOW ?
중첩 클래스
💡 중첩 클래스는 "선언 위치"에 따라 분류됩니다.
| 선언 위치에 따른 분류 | 선언 위치 | 객체 생성 조건 | |
| 멤버 클래스 |
인스턴스 멤버 클래스 |
class A { class B { ... } } |
A 객체를 생성해야만 B 객체를 생성합니다. |
| 정적 멤버 클래스 |
class A { static class B { ... } } |
A 객체를 생성안해도 B 객체를 생성합니다. |
|
| 로컬 클래스 |
class A { void method( ) { class B { ... } } } |
method가 실행될 때만 B 객체를 생성합니다. |
|
중첩 클래스
인스턴스 멤버 클래스
💡 상위 클래스 내부에 정의된 하위 클래스입니다.
[public] class A { // 상위 클래스
[public | private] class B { // 하위 클래스
...
}
}
접근 범위
| 구분 | 접근 범위 |
| public class B { ... } | 다른 패키지에서 B 클래스를 사용할 수 있습니다 |
| private class B { ... } | 같은 패키지에서만 B 클래스를 사용할 수 있습니다. |
| class B { ... } |