내부 클래스
내부클래스는 단순하게, 클래스 안에 클래스를 선언 한것이다.
뭔가 복잡하게 생각 할 수 있는데, 사실 클래스가 메서드, 변수를 담아놓고 객체를 만드는 것인데, 얘도 그런거라고 생각하면 된다.
사실 우리가 자바 프로그래밍을 할 때 맨 위에 알아서 public class (클래스명(파일명)) 이캐캐 나오는대, 사실 우리는 계속 이너클래스를 쓰고 있었는데 그냥 몰랏다 이렇게 생각하면 쉽게 받아들일 수 있다.
작성예시
class Outer { // 외부 클래스
class Inner {
// 인스턴스 내부 클래스
}
static class StaticInner {
// 정적 내부 클래스
}
void run() {
class LocalInner {
// 지역 내부 클래스
}
}
}
위에서 보다싶이, 클래스 안에 클래스를 3개 만들었다. (총 4개)
- 제일 바깥에 있는 클래스 : 외부 클래스
- 안에 있는 클래스 : 인스턴스 내부 클래스 / 외부클래스의 인스턴스 변수를 사용 가능
- static 붙으면서 안에 있는 클래스 : 정적 내부 클래스 / 외부클래스의 정적 변수를 사용 가능
- 매서드 안에 있는 클래스 : 지역 내부 클래스 (매서드가 작동할때만 잠깐 생기는 일회용 클래스)
'백엔드 > JAVA_이론공부' 카테고리의 다른 글
JAVA_메서드 오버라이딩 (0) | 2022.09.18 |
---|---|
JAVA_상속 (0) | 2022.09.18 |
JAVA_this(), this (0) | 2022.09.18 |
JAVA_생성자 (0) | 2022.09.18 |
JAVA_메서드 오버로딩(overloading) (1) | 2022.09.04 |