Java
[Java] 내부 클래스
망고고래
2024. 3. 31. 19:25
what?
클래스 안에 있는 클래스. 내부 클래스는 외부 클래스의 모든 멤버를 자신의 멤버처럼 사용 가능
why?
두 클래스 멤버들 사이에 서로 쉽게 접근→코드 간결
클래스 내부에 클래스를 감추어 캡슐화
how?
class OuterClass{
class InnerClass{
}
}
내부 클래스는 클래스의 멤버변수처럼 구별됨
class OuterClass{
//인스턴스 클래스
class InnerInstance{
}
//스태틱 클래스
static class InnerStatic{
}
//지역 클래스
void methodA(){
class InnerLocal(){
}
}
}
내부클래스에 제어자 사용 가능
abstract
private, protected...
외부 클래스 생성 후 외부 클래스를 통해 내부 클래스 생성 가능
OuterClass oc = new OuterClass();
OuterClass.InnerClass ic = oc.new InnerClass();