개발일지/Java

Java 지역 내부 클래스

E-room 2022. 9. 9. 23:24
728x90

지역 내부 클래스는 클래스의 멤버가 아닌 Method 내에서 정의되는 클래스이다.

 

지역 변수와 유사하게 메서드 내부에서만 사용 가능하다

-> 일반적으로 메서드 안에서 선언 후 바로 객체를 생성해서 사용한다

public class Main {
    public static void main(String[] args) {
        Outer outer = new Outer();
        outer.test();
    }
}
class Outer {
    int num = 5;
    void test() {
        int num2 = 6;
        class LocalInClass { // 지역 내부 클래스
            void getPrint() {
                System.out.println(num);
                System.out.println(num2);
            }
        }
        LocalInClass localInClass = new LocalInClass();
        localInClass.getPrint();
    }
}
// 출력값
5
6

 

메서드 안에서 LocalInClass가 선언되고 생성된 후 정의된 메서드를 호출하여 외부 클래스의 변수들을 출력하고 있다.

728x90