반응형
중첩 클래스
- 내부 클래스 라고도 한다.
- 객체 지향 프로그래밍에서 특정 클래스와 연관성이 큰 경우에는 클래스 내부에 선언하기도 한다.
- 코드의 복잡성을 줄인다.
클래스 내부에 선언한 클래스. 두 클래스의 멤버들을 서로 쉽게 접근하게 하고 외부에는 불필요한 관계 클래스 감추어 코드의 복잡성 줄인다.
인스턴스 멤버 클래스
- static 키워드 없이 중첩 선언된 클래스
- 인스턴스 필드와 메소드만 선언가능
- 정작 필드와 메소드는 선언 불가능
정적 멤버 클래스
- static 키워드로 선언된 클래스
- 모든 종류의 필드와 메소드 선언가능
로컬 클래스
- 중첩 클래스를 메소드 내에서 선언할 수 있음
- 접근 제한자 및 static 붙일 수 없음
- 인스턴스 필드와 메소드만 선언할 수 있고 정적 필드와 메소드는 선언불가
인스턴스, 정적, 로컬 예시
main 실행
중첩 인터페이스
- 인터페이스 역시 클래스 내부에서 선언가능
- 해당 클래스와 연관있는 구현 클래스 만들기 위함
클래스의 멤버로 선언된 인터페이스.
인스턴스 멤버 인터페이스와 정적 멤버 인터페이스 모두 가능함.
주로 정적 멤버 인터페이스를 UI 프로그래밍에서 이벤트 처리 목적으로 자주 활용함.
익명객체
- 클래스 선언시 일반적으로 클래스 이름과 동일한 이름의 소스 파일을 생성하고 클래스를 선언한다. 그런데 클래스 이름이 없는 객체를 익명 객체라고 한다.
- 이름이 없는 객체
- 어떤 클래스를 상속하거나 인터페이스를 구현하여야함.
익명 자식객체 생성
- 일반적인 경우 부모 타입의 필드나 변수 선언하고 자식 객체를 초기값으로 대입하는 경우
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 박싱(Boxing) & 언박싱(UnBoxing) (0) | 2023.07.18 |
---|---|
[JAVA] Wrapper class (0) | 2023.07.18 |
[JAVA] 클래스 상속, 참조형 캐스팅, 추상클래스, 인터페이스 (0) | 2023.07.18 |
[JAVA] Class(구성, 필드, 메서드, 생성자, this) (0) | 2023.07.18 |
[JAVA] 패키지, 접근지정자, static, final (0) | 2023.07.18 |