내부 클래스 요약

  • 인스턴스 내부 클래스 / 정적 내부 클래스 / 지역 내부 클래스는 멤버변수와 같은 위치에 만들어짐
종류  구현 위치 사용할 수 있는 외부 클래스 변수 생성 방법
인스턴스 내부 클래스 외부 클래스 멤버 변수와 동일 외부 인스턴스 변수
외부 전역 변수
외부 클래스를 먼저 만든 후 내부 클래스 생성
정적 내부 클래스 외부 클래스 멤버 변수와 동일 외부 전역 변수 외부 클래스와 무관하게 생성
지역 내부 클래스 메서드 내부에 구현 외부 인스턴스 변수
외부 전역 변수
메서드를 호출할 때 생성
익명 내부 클래스 메서드 내부에 구현
변수에 대입하여 직접 구현
외부 인스턴스 변수
외부 전역 변수
메서드를 호출할 때 생성 되거나, 인터페이스 타입 변수에 대입할 때 new 예약어를 사용하여 생성

인스턴스 내부 클래스

  • 기본적으로 내부클래스는 private로 접근 불가능하게 막아놓는다.


정적 내부 클래스

  • Outclass의 생성 없이 내부 정적 클래스 내 변수 / 메소드 접근 가능

  • 내부 정적 클래스 내에 있는 정적 메소드는 바로 호출 가능


지역 내부 클래스

  • getRunnable 메소드의 지역변수는 메소드 호출이 끝나면 메모리가 사라지기 때문에 오류

  • 외부 메서드의 지역변수는 상수로 처리
  • 참조할 수는 있지만 변경은 불가능 하다.

익명 내부 클래스 (가장 많이 씀)

  • 메서드를 호출할 때 생성 되거나

  • 인터페이스 타입 변수에 대입할 때 new 예약어를 사용하여 생성

  • 단 하나의 인터페이스나, 단 하나의 추상클래스만 구현 가능

'Back-end > java' 카테고리의 다른 글

스트림  (0) 2021.06.23
람다식  (0) 2021.06.23
컬렉션 프레임워크  (0) 2021.06.22
제네릭 프로그래밍  (0) 2021.06.22
기본 클래스  (0) 2021.06.22

+ Recent posts