내부 클래스

CHM·2022년 4월 21일

Java 활용

목록 보기
8/15

내부 클래스

  • 클래스 안의 클래스
  • 종류
    • 멤버 클래스 : 하나의 멤버로써 정의, 어디서든 사용 가능
    • 로컬 클래스 : 메서드 안에서 정의, 메서드 내에서만 사용

내부 클래스 예시

public class Outer {
   
   // 멤버 클래스
   static class Inner {
      void inner() {
         System.out.println("inner");
      }
   }
   
   // 멤버 클래스
   class Inner2 {
     void inner() {
        System.out.println("inner2"); 
        
        // 로컬 클래스
        class Inner3 {
           void inner() {
              System.out.println("inner");
           }
        }
     } 
   }
} 

public class InnerMain {
   public static void main(String[] args) {
      Outer.Inner inner = new Outer.Inner();
      inner.inner();
      
      Outer outer = new Outer();
      Outer.Inner2 inner2 = outer.new Inner2();
      inner2.inner();
   }
}
  • 컴파일 시 내부 클래스도 클래스이기 때문에 $ 기호로 구분되어 개별적으로 클래스 파일이 생성된다.

0개의 댓글