내부 클래스

Woongbin·2022년 7월 17일
0

Java 기초

목록 보기
12/17
post-thumbnail

내부 클래스

내부클래스는 클래스 내에서 선언된 클래스.

장점

  1. 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근 가능.
  2. 코드의 가독성 증가.

종류와 특징

내부 클래스의 종류는 변수의 선언위치에 따른 종류와 같다.

  • instance class : 외부 클래스의 멤버 변수 선언위치에 선언, 인스턴스 멤버처럼 쓰임.
  • static class : 외부 클래스의 멤버 변수 선언위치에 선언, static 멤버처럼 쓰임.
  • local class : 외부 메소드나 초기화블럭안에서 선언, 선언된 내부에서만 사용
  • anonymous class : 클래스의 선언과 객체의 생성을 동시에 하는 이름 없는 클래스.

내부 클래스 선언

클래스 안에 클래스를 선언하면 된다.

class Main() {
	class Sub() {}
}

※ 각 내부 클래스의 선언 위치에 따라 변수와 동일한 유효범위와 접근성을 갖게된다.

제어자와 접근성

내부 클래스도 abstract나 final 같은 제어자와 public, private 같은 접근제어자를 사용 할 수 있다.

class Main() {
	private class Sub1() {}
    final class Sub2() {}
}

익명 클래스(anonymous class)

이름이 없는 클래스
특징

  • 오직 하나의 객체만 생성 가능
  • 생성자를 가질 수 없음.
  • 하나의 클래스를 상속 받거나, 하나의 인터페이스를 구현해야 함.
Test t = new Test() { void method(){} } // 익명 클래스
profile
블로그 이전 https://woongbin06.tistory.com/

0개의 댓글