네스티드 클래스란?
아래와 같이 클래스안에 정의된 클래스
1 2 3 | class Outer { class Nested {...} } | cs |
네스티드 클래스의 구분
네스티드 클래스는 크게 2개로 나뉨
1. static 네스티드 클래스
1 2 3 | class Outer { static class Nested {...} } | cs |
2. Non-static 네스티드 클래스 (=이너 클래스)
이너클래스는 총3가지로 나뉘어짐
- 멤버 (이너) 클래스 : 인스턴스 변수, 인스턴스 메소드와 동일한 위치에 정의
1 2 3 | class Outer { class MemberInner {...} } | cs |
- 로컬 (이너) 클래스 : 중괄호 내에, 특히 메소드 내에 정의
1 2 3 4 5 | class Outer { public void method() { class LocalInner {...} } } | cs |
- 익명 (이너) 클래스 : 클래스인데 이름없는 클래스
1 2 3 4 5 6 7 8 9 10 11 12 | interface testInter { public void test(); } class Outer { public testInter method() { return new testInter() { public void test() { System.out.println("test"); } }; } | cs |
'게으른개발자 > 공부' 카테고리의 다른 글
스프링부트 프로파일 (0) | 2019.01.13 |
---|---|
자바 스트림(Stream) (0) | 2019.01.09 |
자바 람다(Lambda) (0) | 2019.01.08 |
DI(Dependency injection) 의존성 주입 (0) | 2019.01.06 |
메이븐(Maven)기반 스프링부트(Spring Boot)프로젝트 생성하기 By 인텔리제이(IntelliJ) (0) | 2018.12.25 |