자바 내부 클래스 또는 중첩 클래스는 클래스나 인터페이스 내부에 선언된 클래스입니다.
제이쿼리가 뭐야?
우리는 내부 클래스를 사용하여 클래스와 인터페이스를 한 곳에서 논리적으로 그룹화하여 읽기 쉽고 유지 관리하기 쉽도록 했습니다.
또한 전용 데이터 멤버 및 메서드를 포함하여 외부 클래스의 모든 멤버에 액세스할 수 있습니다.
내부 클래스의 구문
class Java_Outer_class{ //code class Java_Inner_class{ //code } }
Java 내부 클래스의 장점
Java의 내부 클래스에는 세 가지 장점이 있습니다. 그것들은 다음과 같습니다:
- 중첩 클래스는 특정 유형의 관계를 나타냅니다. 외부 클래스의 모든 멤버(데이터 멤버 및 메서드)에 액세스할 수 있습니다. 개인 포함.
- 중첩 클래스가 사용됩니다. 더 읽기 쉽고 유지 관리하기 쉬운 코드를 개발하기 위해 클래스와 인터페이스를 한 곳에만 논리적으로 그룹화하기 때문입니다.
Java Inner 클래스의 필요성
때때로 사용자는 다른 클래스가 액세스할 수 없는 방식으로 클래스를 프로그래밍해야 합니다. 그러므로 다른 클래스에도 포함시키면 더 좋을 것 같습니다.
모든 클래스 개체가 외부 개체의 일부인 경우 해당 클래스를 외부 클래스 내에 중첩하는 것이 더 쉽습니다. 이렇게 하면 모든 외부 클래스가 내부 클래스의 모든 객체에 액세스할 수 있습니다.
당신은 알고 있습니까?- 멤버 내부 클래스에 대해 컴파일러가 생성한 내부 코드는 무엇입니까?
- 익명의 내부 클래스를 만드는 두 가지 방법은 무엇입니까?
- 로컬 내부 클래스 내에서 최종이 아닌 로컬 변수에 액세스할 수 있나요?
- 정적 중첩 클래스에 액세스하는 방법은 무엇입니까?
- 클래스 내에서 인터페이스를 정의할 수 있나요?
- 인터페이스 내에서 클래스를 정의할 수 있나요?
Java의 중첩 클래스와 내부 클래스의 차이점
내부 클래스는 중첩 클래스의 일부입니다. 비정적 중첩 클래스를 내부 클래스라고 합니다.
중첩 클래스의 유형
중첩 클래스에는 비정적 클래스와 정적 중첩 클래스의 두 가지 유형이 있습니다. 비정적 중첩 클래스는 내부 클래스라고도 합니다.
자바 스택이란 무엇입니까?
- 비정적 중첩 클래스(내부 클래스)
- 회원 내부 클래스
- 익명 내부 클래스
- 로컬 내부 클래스
- 정적 중첩 클래스
유형 | 설명 |
---|---|
회원 내부 클래스 | 클래스 내에서 생성되고 메소드 외부에서 생성되는 클래스입니다. |
익명 내부 클래스 | 인터페이스를 구현하거나 클래스를 확장하기 위해 생성된 클래스입니다. Java 컴파일러가 이름을 결정합니다. |
로컬 내부 클래스 | 메서드 내에서 클래스가 생성되었습니다. |
정적 중첩 클래스 | 클래스 내에 정적 클래스가 생성되었습니다. |
중첩된 인터페이스 | 클래스 또는 인터페이스 내에서 생성된 인터페이스입니다. |