내부클래스( 종류, 특징, 선언 )
내부 클래스 종류는 변수(iv,cv,lv) 개념과 동일 iv, cv(static) -> 클래스 영역, lv ->메서드영역
내부 클래스의 제어자와 접근성
외부 class -> default, public만 가능, 내부 class -> 변수처럼 모든 제어자 가능
★static멤버가 필요하면 static내부클래스이어야 한다.★
static클래스만 static멤버를 정의할 수있다.다른 클래스(iv, lv)에서 사용불가, static클래스도 다른 클래스 사용 불가
상수 사용 2가지 방법 ex) card
iv 경우 final int kind; ( static x ) : 카드마다 값이 달라야하지만 한번 값이 결정되면 변경 불가되야 한다.
cv 경우 final static card_num = 52 : 모든 카드 총 갯수 객체상관없이 52장 공통속성
지역 내부 클래스는 메서드내에서만 사용 가능함 외부 출력 불가
final static은 상수이므로 iv, lv 가능 ( static변수 선언은 불가 )
내부 클래스는 외부 클래스의 private멤버도 접근 가능 ( 클래스 내에 있으니 )
외부 클래스의 지역변수는 final이 붙은 변수(상수)만 접근 가능하다.(JDK1.8부터는 final 생략가능)
내부클래스의 객체가 지역변수보다 더 오래 존재 가능
익명 클래스
'Java' 카테고리의 다른 글
java.lang패키지와 유용한 클래스(Strung 클래스) (0) | 2023.05.16 |
---|---|
예외 처리 (0) | 2023.04.03 |
객체지향 프로그래밍 II (0) | 2023.03.27 |
객체지향 프로그래밍 I (0) | 2023.03.15 |
배열 (0) | 2023.03.08 |