[JAVA]내부 클래스

Date:     Updated:

카테고리:

태그:

[26] 내부 클래스

26.1. 내부 클래스 (inner class)

  • 클래스 내부에 선언한 클래스
  • 내부 클래스를 감싸고 있는 외부 클래스와 밀접한 연관이 있음
  • 다른 외부 클래스에서 사용할 일이 거의 없는 경우에 내부 클래스로 선언해서 사용함
  • 중첩 클래스
  • 종류
    • 인스턴스 내부 클래스
      • 내부적으로 사용할 클래스를 선언 (private으로 선언하는 것을 권장)
      • 외부클래스가 생성된 후 생성됨
    • 정적(static) 내부 클래스
      • 외부 클래스 생성과 무관하게 사용할 수 있음
      • 정적 변수, 정적 메서드
    • 지역(local) 내부 클래스
      • 지역 변수처럼 메서드 내부에서 정의하여 사용하는 클래스
      • 메서드 호출이 끝나면 메서드에 사용된 지역변수의 유효성은 사라짐
      • 메서드 호출 이후에도 사용해야 하는 경우가 있을 수 있으므로 지역 내부 클래스에서 사용하는 메서드의 지역변수나 매개변수는 final로 선언됨.
    • 익명(anonymous) 내부 클래스
      • 이름이 없는 클래스
      • 클래스의 이름을 생략하고 주로 하나의 인터페이스나 하나의 추상클래스를 구현하여 반환

JAVA 카테고리 내 다른 글 보러가기

댓글 남기기