JAVA/포스팅

자바 멤버 내부 클래스

짜집퍼박사(짜박) 2023. 11. 13. 00:55

멤버 내부 클래스(Member Inner Class)는 다른 클래스 내부에 정의되어 있는 클래스로, 외부 클래스의 인스턴스에 종속적인 내부 클래스입니다. 이 클래스는 주로 외부 클래스의 멤버 변수 및 메서드에 쉽게 접근할 수 있도록 도와주는 역할을 합니다.

멤버 내부 클래스의 특징은 다음과 같습니다.

 

1. 인스턴스 종속성

멤버 내부 클래스는 외부 클래스의 인스턴스에 종속적입니다. 따라서 멤버 내부 클래스의 객체를 생성하려면 먼저 외부 클래스의 객체가 생성되어 있어야 합니다.

 

2. 외부 클래스의 멤버 접근

멤버 내부 클래스는 외부 클래스의 모든 멤버에 접근할 수 있습니다. 이는 private 멤버까지 포함합니다.

 

3. 외부 클래스의 인스턴스 생성 없이는 객체 생성 불가

멤버 내부 클래스의 객체를 생성하려면 먼저 외부 클래스의 객체가 필요합니다. 멤버 내부 클래스가 외부 클래스의 인스턴스에 종속적이기 때문입니다.

 

멤버 내부 클래스의 선언 형식은 다음과 같습니다.

public class Outer {
    // 멤버 변수
    private int outerField;

    // 멤버 메서드
    public void outerMethod() {
        // 멤버 내부 클래스의 선언
        class Inner {
            // 내부 클래스에서 외부 클래스의 멤버에 접근 가능
            public void innerMethod() {
                System.out.println("Inner method: " + outerField);
            }
        }

        // 내부 클래스의 객체 생성
        Inner inner = new Inner();
        inner.innerMethod();
    }
}

위 예제에서 Inner 클래스가 Outer 클래스의 멤버로 선언되어 있습니다. innerMethod에서는 outerField에 접근할 수 있습니다.

멤버 내부 클래스는 주로 외부 클래스와 강한 결합을 가지며, 외부 클래스의 멤버에 쉽게 접근할 수 있기 때문에 특정한 상황에서 사용됩니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 지역 내부 클래스  (0) 2023.11.14
자바 정적 내부 클래스  (0) 2023.11.13
자바 내부 클래스의 접근성  (0) 2023.11.13
자바 내부 클래스의 선언  (0) 2023.11.13
자바 내부 클래스의 특징  (0) 2023.11.13