InnerClass

  • 클래스가 다른 클래스를 포함하는 경우, 내부에 포함된 클래스의 명칭

  • 파일 크기의 최소화, 보안, 성능 향상, 이벤트 처리 등을 쉽게 하기 위해 사용

  • 자바 클래스 구조를 더 조직화하고, 소스코드를 구현시 효율을 높일 수 있음

  • 내부 클래스가 생성되기 위해 외부 클래스의 객체가 반드시 필요

  • 내부 클래스는 정의되는 위치에 따라 멤버 클래스와 지역 클래스로 나뉨

  • 멤버클래스

    • 멤버 변수와 동일한 위치에 선언된 내부 클래스
    • static예약어가 붙은 static 멤버와 instance 멤버로 나뉨
    • 동일한 클래스 뿐아니라 다른 클래스에서도 활용 가능
    • 클래스의 멤버 변수와 성격이 비슷
  • 지역클래스

    • 메서드 내에 클래스가 정의되어 있는 경우
    • 지역클래스와 무명클래스로 나뉨
    • 활용 범위가 메서드 블록 내부로 제한되는 특징을 갖는 등 지역 변수와 성격이 비슷