Java - 지역 클래스로 구현하기

지역클래스는 메소드 안에 클래스가 있는 것이다.
다음 문제를 보고 풀어보자.

LocalClass.class

public class OuterClass {
    public void localMethod() {
        // 메소드 안에 LocalClass 만들어보고 hello() 호출한다.
    }
}

Main.class

public class Main {
    public static void main(String[] args) {
        // 지역 클래스 호출하기
    }
}

LocalClass hello()


풀이

LocalClass.class

public class OuterClass {
    public void localMethod() {
        // 메소드 안에 LocalClass 만들어보고 hello() 호출한다.
        class LocalClass {
            public void hello() {
                System.out.println("LocalClass hello()");
            }
        }

        LocalClass localClass = new LocalClass();
        localClass.hello();
    }
}

Main.class

public class Main {
    public static void main(String[] args) {
        OuterClass hello = new OuterClass();
        hello.localMethod();
    }
}

호출부에서 메소드를 호출하면 출력할 수 있도록 메소드 안에 클래스를 생성하고 호출이 필요하다.