반응형
#1 내부 클래스 (중첩 클래스)
▶ 내부 클래스란?
- 두 클래스 간에 서로 쉽게 접근하여 사용할 수 있도록 만든 것
- 보통 바깥쪽의 클래스를 외부 클래스, 안쪽의 클래스를 내부 클래스라고 함
- 내부 클래스에서도 접근 제한자를 부여해, 클래스의 접근에 대한 기능을 제한할 수 있음
- < 장점 >
- 두 클래스 멤버들 간에 손쉽게 접근 가능
- 불필요한 클래스를 감춰 코드의 복잡성을 줄일 수 있음
public class OuterClass {
class InnerClass {
}
}
#2 내부 클래스 종류
▶ 선언된 위치별 내부 클래스 종류
메서드 | 설명 |
인스턴스 클래스 | 외부 클래스의 멤버 변수와 같은 위치에 선언 주로 외부 클래스의 멤버 변수와 관련된 작업에 사용될 목적으로 선언 외부 클래스가 반드시 선언된 후, 인스턴스 클래스 생성 |
정적 클래스 | 외부 클래스의 멤버 변수와 같은 위치에 선언 외부 클래스의 클래스 변수와 같이 static 키워드가 부여 인스턴스 클래스와 다르게 외부 클래스 객체를 생성하지 않아도 선언 가능 |
지역 클래스 | 외부 클래스의 메서드 내부에서 선언 메서드 영역에서 선언되기 때문에 메서드 내부에서만 사용 가능 |
#3 익명 클래스
- 다른 내부 클래스와는 달리 이름이 없는 클래스
- 클래스의 선언과 객체의 생성을 동시에 하므로 단 한번만 사용 가능
- 오직 하나의 객체만을 생성할 수 있는 일회용 클래스
- 보통 인터페이스를 상속하지 않고, 일회성으로 기능을 구현해 사용할 때 주로 사용
반응형
'개발 > Java' 카테고리의 다른 글
JAVA_15_기본 API 클래스 (1) | 2024.07.16 |
---|---|
JAVA_14_예외 처리 (1) | 2024.07.16 |
JAVA_12_추상 클래스 & 인터페이스 (1) | 2024.07.16 |
JAVA_11_다형성 & 타입 변환 (1) | 2024.07.16 |
JAVA_10_상속 (0) | 2024.07.16 |