내부 클래스 (Inner Class)

SJW·2023년 2월 16일

내부 클래스(Inner Class)

  • 클래스 내에 클래스

  • 외부 클래스와 내부 클래스가 서로 연관되어 있을 때 사용(캡슐화를 달성하는데 사용됨)

  • ex)
    class Outer { // 외부 클래스

    class Inner {
    	// 인스턴스 내부 클래스	
    }
    
    static class StaticInner {
    	// 정적 내부 클래스
    }
    
    void run() {
    	class LocalInner {
    	// 지역 내부 클래스
    	}
    }

    }

  • 인스턴스 내부 클래스 + 정적 내부 클래스 = 멤버 내부 클래스

인스턴스 내부 클래스

정적 내부 클래스


지역 내부 클래스

  • 메서드 내에서 정의되는 클래스
  • 일반적으로 메서드 안에서 선언 후에 바로 객체를 생성해서 사용한다.

0개의 댓글