-
13. 내부클래스, 외부클래스, staticprogram_language 및 궁금한것/Java 2019. 4. 24. 14:37
내부클래스 - 중첩클래스, 포함, Nested
- 클래스내에 또 다른 클래스를 구성하는 것
- 내부클래스는 맴버 변수기 때문에 접근제한자가 모두 들어갈 수 있다.
( 참고로 일반 클래스는 접근제한자가 public이나 생략만 가능하다.)
- 남의집에 터를 잡은 뻐꾸기처럼 놀부같은 아이
- 외부클래스의 자원을 모두 가져올 수 있는 클래스
[ public / final / abstract ] class A { // 외부클래스, Outer클래스, Top-level클래스
[ protected가능, static가능 ] class B { //내부클래스, Inner클래스
}
}
static
static으로 선언된 메소드는 static으로 선언된 변수만 호출 가능하다.
정적 중첩 클래스 - static이 선언된 내부 클래스
외부자원을 이용할때 static붙는 인스턴스만 접근 가능
비정적 중첩 클래스 - static이 선언되지 않은 내부 클래스
A.java ---> 컴파일(javac) ---> A.class과 A$B.class 생성
내부클래스 호출 방법!
외부에서 내부 사용할때
NestedClass nc = new NestedClass();
nc.print();메인에서 외부클래스 안에 있는 내부클래스 호출하기
NestingClass.NestedClass innerN = new NestingClass().new NestedClass();
외부클래스.내부클래스 변수명 = new 외부클래스(). new 내부클래스();
반응형'program_language 및 궁금한것 > Java' 카테고리의 다른 글
클래스에서 변수선언과 초기화를 따로 진행할수 없는 이유 (0) 2019.04.24 14. AWT, GUI 자바로 그림그리기, 자바 시각화 (0) 2019.04.24 이클립스 경로 Path 확인하기 (0) 2019.04.23 12. 예외처리(Exception) (0) 2019.04.23 11. 배열, 벡터 (0) 2019.04.22