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();

'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