요코하마맨

JAVA
자바의 내부클래스
2020.03.13 03:29

내부클래스(inner class)는 주로 AWT나 Swing과 같은 GUI어플리케이션의 이벤트처리 외에는 잘 사용하지 않을 정도로 사용빈도가 높지 않다.

내부클래스란 클래스 내에 선언된 클래스이다. 
클래스에 다른 클래스를 선언하는 이유는 간단하다. 
두클래스가 서로 긴밀한 관계에 있기 떄문이다.

한 클래스를 다른 클래스의 내부 클래스로 선언하면 두 클래스의 멤버들 간에 서로 쉽게 접근할 수 있다는 장점과
외부에는 불필요한 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다는 장점이 있다.

1. 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다.
2. 코드의 복잡성을 줄일 수 있다(캡슐화)

내부클래스의 종류와 특징
* 인스턴스 클래스 : 외부클래스의 멤버변수 선언위치에 선언하며, 외부클래스의 인스턴스멤버처럼 사용된다. 주로 외부클래스의 인스턴스멤버들과 관련된 작업에 사용될 목적으로 선언된다.
* 스태틱 클래스 : 외부클래스의 멤버변수 선언위치에 선언하며, 외부클래스의 static멤버처럼 다루어진다. 주로 외부클래스의 static멤버, 특히 static메서드에서 사용될 목적으로 선언된다.
* 지역 클래스 : 외부클래스의 메서드나 초기화블럭 안에 선언하며, 선언된 영역 내부에서만 사용 될 수 있다.
* 익명 클래스 : 클래스의 선언과 객체의 생성을 동시에 하는 이름없는 클래스(일회용)



JAVA카테고리 다른 글
번호 제목 날짜 조회
67 JVM메모리구조 03.13 467
68 자바 Vector클래스 03.13 443
69 자바의 내부클래스 03.13 443
70 자바의 익명클래스 03.13 514
71 자바의 인터페이스 03.13 549