728x90
내부 클래스
두 클래스 간에 서로 쉽게 접근하여 사용할 수 있도록 만든 것을 말하며 중첩 클래스라고도 합니다. 보통 바깥쪽의 클래스를 외부 클래스, 안쪽의 클래스를 내부 클래스라고 합니다.
내부 클래스 구분
메서드 | 설명 |
인스턴스 클래스 | 외부 클래스의 멤버 변수와 같은 위치에 선언합니다. 주로 외부 클래스의 멤버 변수와 관련된 작업에 사용될 목적으로 선언됩니다. |
정적 클래스 | 외부 클래스의 클래스 변수와 같이 static 키워드가 부여됩니다. |
지역 클래스 | 외부 클래스의 메서드 내부에서 선언하여 사용합니다. 메서드 영역에서 선언되기 때문에 메서드 내부에서만 사용할 수 있습니다. |
내부 클래스에도 접근 제한자를 부여하여, 클래스의 접근에 대한 기능을 제한할 수 있습니다.
익명 클래스
다른 내부 클래스와는 달리 이름이 없는 클래스를 의미합니다. 익명 클래스는 클래스의 선언과 객체의 생성을 동시에 하므로 단 한 번만 사용할 수 있으며 오직 하나의 객체만을 생성할 수 있는 일회용 클래스입니다. 따라서 익명 클래스는 보통 인터페이스를 상속하지 않고, 일회성으로 기능을 구현하여 사용할 때 주로 사용됩니다.
728x90