내부 클래스

지윤·2021년 2월 9일
0

Java

목록 보기
11/21

클래스 안의 클래스

내부 클래스의 장점

  • 내부 클래스에서 외부 클래스의 멤버들을 객체 생성 없이 접근 가능
  • 코드의 복잡성 감소(캡슐화)

내부 클래스의 종류와 특징

내부 클래스의 종류와 유효범위는 변수와 동일하다.

1. 인스턴스 클래스
- 외부 클래스의 인스턴스 멤버들과 관련된 작업에 사용

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

3. 지역 클래스
- 외부 클래스의 메서드나 초기화 블럭 안에 선언하며, 선언된 영역 내부에서만 사용 가능하다.

4. 익명 클래스
- 클래스의 선언과 객체의 생성을 동시에 하는 이름이 없는 일회성 클래스이다.

내부 클래스의 제어자와 접근성

  1. 일반 클래스의 제어자는 default, public만 가능하지만, 내부 클래스는 제어지시자 4가지 모두 가능하다.

  2. 외부 클래스의 private 멤버도 접근 가능하다.

  3. 내부 클래스를 감싸고 있는 외부 클래스 메서드의 상수만 사용 가능하다.

  4. 외부 클래스의 인스턴스를 먼저 생성해야 내부 클래스의 인스턴스를 생성하 수 있다. 단, 스태틱 내부 클래스는 상관없다.

  5. 내부 클래스에서 외부 클래스의 이름이 같은 변수를 참조하려면 '외부클래스명.this.변수명'으로 참조할 수 있다.

profile
헬로🙋‍♀️

0개의 댓글