반응형
내부클래스란?
클래스 내에 선언된 클래스! 외부 클래스와 내부 클래스가 서로 연관되어 있을때 사용
class Outer { // 외부 클래스
class Inner {
// 인스턴스 내부 클래스
// 실무 - Outer 에서만 쓰고싶을때
}
static class StaticInner {
// 정적 내부 클래스
}
void run() {
class LocalInner {
// 지역 내부 클래스
}
}
}
선언 위치에 따른 이너 클래스의 구분
종류 | 선언 위치 | 사용 가능한 변수 |
인스턴스 내부 클래스(instance inner class) | 외부 클래스의 멤버변수 선언위치에 선언(멤버 내부 클래스) | 외부 인스턴스 변수, 외부 전역 변수 |
정적 내부 클래스(static inner class) | 외부 클래스의 멤버변수 선언위치에 선언(멤버 내부 클래스) | 외부 전역 변수 |
지역 내부 클래스(local inner class) | 외부 클래스의 메서드나 초기화블록 안에 선언 | 외부 인스턴스 변수, 외부 전역 변수 |
익명 내부 클래스(anonymous inner class) | 클래스의 선언과 객체의 생성을 동시에 하는 일회용 익명 클래스 | 외부 인스턴스 변수, 외부 전역 변수 |
이제 이어지는 콘텐츠를 통해 세 가지 종류의 내부 클래스에 대해서 좀 더 살펴보도록 하겠습니다.
staic이 없으면 new Outer 하기 전에 메서드 호출 안됨!!
반응형
'IT > JAVA' 카테고리의 다른 글
JAVA - 객체 지향 심화 1) 상속 (0) | 2024.11.27 |
---|---|
JAVA - 객체지향 심화 (0) | 2024.11.27 |
JAVA - 생성자(Constructor) (1) | 2024.11.26 |
JAVA - 필드(Field)와 메서드(Method) (0) | 2024.11.26 |
JAVA - OOP , 클래스와 객체 (1) | 2024.11.26 |