728x90
내부클래스(Inner Class)
클래스 안에 선언한 클래스를 의미
긴밀한 관계가 있는 클래스를 클래스 안에 선언하여 사용하는 방법
특징
- 내부 클래스에서 외부 클래스 멤버에 접근가능
- 외부에서는 내부 클래스에 접근 불가
- 코드의 복잡성을 줄임
종류
- 인스턴스 클래스 (instance class)
- 외부 클래스의 멤버변수 선언 위치에 선언
- static class는 바로 접근가능
- 정적 클래스 (static class)
- 외부 클래스의 멤버변수 선언 위치에서 선언하는 static 키워드가 붙은 내부 클래스
- 외부클래스는 static이 아니라 정적클래스에서 외부클래스 변수를 사용할경우 경고
- 지역 클래스 (local class)
- 외부 클래스의 메소드안에서 선언
- 선언된 메서드 블록 영역 내부에서만 사용가능
- 익명 클래스 (anonymous class)
- 클래스의 선언과 객체의 생성을 동시에 하는 이름없는 클래스
- 일회용 클래스
인스턴스 클래스 예시
class A{
class B{ //인스턴스
}
}
A.B n = new A().B();
정적 클래스 예시
class A{
static class B{ //인스턴스
}
}
A.B n = new A.B();
익명클래스 예시
클래스명 변수명 = new 클래스명(){
//클래스정의부
}
추상클래스를 만들어 놓고
사용할때마다 익명클래스로 구현해도 된다
728x90
'3.1 Java_Backend > Java' 카테고리의 다른 글
[java/기초] 예외처리 (0) | 2024.07.16 |
---|---|
[Java/기초] 입출력 (0) | 2024.07.14 |
[java/기초] 인터페이스 (0) | 2024.07.13 |
[java/기초] 추상클래스 (0) | 2024.07.13 |
[java/기초] 다형성 (0) | 2024.07.11 |
댓글