ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 내부 클래스
    자바/자바 기초 2021. 11. 10. 17:11
    728x90

    내부 클래스

    • 장점
      • 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다.
      • 코드의 복잡성을 줄일 수 있다(캡슐화)
      public class innerEx1 {
          public static void main(String args[]){
          innerEx1 test1 = new innerEx1();
          System.out.println("test1.outIv" + innerEx1.StaticInner.scv); // 0 
          StaticInner test2 = new StaticInner();
          System.out.println("test2 + " + test2.scv2 ); // 0 출력가능
    
          }
          private int outerIv = 0;
          static int outerCv= 0;
    
          class InstanceInner{
              int iiv = outerIv; // 외부 클래스의 private 멤버도 접근 가능하다
              int iiv2 = outerCv;
          }
    
          static class StaticInner{
      //        int siv = outIv; 스태틱 클래스는 외부 클래스의 인스턴스 멤버에 접근할 수 없다.
              static int scv = outerCv;
              int scv2 = outerCv;
    
          }
    
          void myMethod(){
              int lv = 0;
              final int LV=0; // final 생략가능
              class LocalInner{
                  int liv = outerIv;
                  int liv2 = outerCv;
    
                  int liv3 = lv;
                  int liv4 = LV;
              }
    
          }
    
      }
    • Static 클래스
      • static 키워드를 이용하여 이너 클래스를 생성하면 상위 클래스와 분리를 해준다.
      • 상위 클래스가 생성되지 않아도, 외부에서 직접 객체를 생성할 수 있다.
        
        

    ```


    728x90

    '자바 > 자바 기초' 카테고리의 다른 글

    추상 클래스  (0) 2021.11.10
    자바 Exception  (0) 2021.11.10
    다형성  (0) 2021.11.10
    인터페이스  (0) 2021.11.10
    제어자  (0) 2021.11.10
Designed by Tistory.