728x90
반응형
내부 클래스란?
- 클래스 안의 클래스
내부 클래스의 장점
- 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근 할 수 있다.
- 코드의 복잡성을 줄일 수 있다. ( 캡슐화 )
내부 클래스의 제어자와 접근성
- 내부 클래스의 제어자는 변수에 사용 가능한 제어자와 동일하게 public/ (default)/ protected / private 다 사용가능.
- static클래스만 static멤버를 정의 할 수 있다. ( 상수인경우 ( final static ) 에만 허용 )
: static멤버는 객체 생성없이 외부에서 사용할 수 있는 것인데 클래스가 인스턴스클래스면 클래스의 인스턴스를 생 성해야지만 안에 있는 멤버를 사용할 수 있기 때문에 모순이 일어난다.
- static 내부 클래스에서는 외부 클래스의 인스턴스 멤버에 접근할 수 없다.
- 외부 클래스의 private 멤버도 내부 클래스에서 사용가능하다.
- 외부 클래스의 지역변수는 final이 붙은 변수 (상수) 만 접근가능하다.
- 외부 클래스의 인스턴스를 먼저 생성해야 내부 인스턴스 클래스의 인스턴스를 생성가능.
- static 내부 클래스의 인스턴스는 외부클래스 생성하지 않고
외부클래스명.내부클래스명 참조변수 = new 외부클래스명.내부클래스명( ); 이런형태로 생성가능
728x90
반응형
'JAVA' 카테고리의 다른 글
[JAVA] beak문, continue문, label문 (0) | 2022.03.05 |
---|---|
hashCode(), toString() (0) | 2022.03.04 |
인터페이스 ( interface ) (0) | 2022.03.02 |
추상 클래스, 추상 메서드 (0) | 2022.03.01 |
참조변수의 형변환 (0) | 2022.02.28 |