2024.05.29. WED, <D + 9>, 내부 클래스
class ClassA { //outer class
class ClassC {
//inner class => 캡슐화
}
}
A. 내부 클래스의 종류
1. 인스턴스 클래스
-> 인스턴스 멤버처럼 다루어짐. <위치: 멤버변수 선언위치에 선언>
2. static 클래스
-> static 멤버처럼 다루어짐. <위치: static 멤버 변수 선언 위치에 선언>
3. 지역클래스
-> 외부 클래스의 메소드, 초기화 블럭 안에 위치
4. 익명(무명) 클래스
-> 클래스 이름이 없는 상태 (클래스 코드만 있는 상태)
-> 코드 한번 실행시 끝나게 되므로 1회용.
-> 클래스 선언과 객체 생성이 동시에 됨.
ex)
class Outer {
class InstanceInnerClass { // 인스턴스 클래스 }
static class StaticInnerClass {// static 클래스}
void myMethod() {
class LocalInnerClass { //지역 클래스 }
}
}