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();
'Java' 카테고리의 다른 글
[Java] 기본 API 클래스① 문자열 클래스 (0) | 2024.04.02 |
---|---|
[Java] 익명 클래스 (0) | 2024.04.02 |
[Java] 인터페이스 (0) | 2024.03.31 |
[Java] 추상 메서드와 추상 클래스 (0) | 2024.03.31 |
[Java] 상속과 다형성⑥ 다형성 (0) | 2024.03.30 |