내부 클래스

내부 클래스

인스턴스, 스태틱, 지역, 익명 클래스에 대해

·

1 min read

클래스 내에 선언된 클래스

장점

  • 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있음

  • 코드의 복잡성을 줄일 수 있음

구조

class A {        // 외부 클래스
    class B {    // 내부 클래스
    }
}

내부클래스 B는 외부클래스 A를 제외 다른클래스에서 사용되는 것을 권하지 않음

종류

  • 인스턴스 클래스(instance class)

    • 외부 클래스의 멤버변수 선언위치에 선언하며,
      외부 클래스의 인스턴스 멤버처럼 다루어진다.

    • 외부 클래스의 인스턴스 멤버들과 관련된 작업에 사용될 목적으로 선언된다.

  • 스태틱 클래스(static class)

    • 외부 클래스의 멤버변수 선언위치에 선언하며, 외부 클래스의 static 멤버처럼 다루어진다.

    • 외부 클래스의 static 멤버, 특히 static 메서드에서 사용될 목적으로 선언된다.

  • 지역 클래스(local class)

    • 외부 클래스의 메서드나 초기화 블럭 안에 선언하며, 선언된 영역 내부에서만 사용될 수 있다.
  • 익명 클래스(anonymous class)

    • 클래스의 선언과 객체의 생성을 동시에 하는 이름없는 클래스(일회용)
      생성자 없음

    • 단 하나의 클래스를 상속받거나 단 하나의 인터페이스만 구현할 수 있다

참고

https://github.com/castello/javajungsuk3