정적( 공유 ) 속성 클래스 [ 내부 ]
\ 특징 /
일반 (속성 , 메소드 , 함수) 과 정적 (속성 , 메소드 , 함수)
둘다 정의가 가능함
정의
public class Outer{
// Outer 의 Attribute , Constructor , Method
public static class Share {
// Share 의 Attribute , Constructor , Method
}
}
Main 함수 에서의
사용법
외부클래스.내부클래스.속성 (Attribute , Constructor , Method)
Outer.Share.속성
외부클래스에서의 내부클래스
사용법
정적 ( 공유 ) 내부클래스를 일반 속성으로 정의
( 전부 사용 가능 )
public class Outer {
public class Share {}
Share share = new Share();
static Share share2 = new Share(); // 가능
// - - - - 메서드에서 사용 - - - -
void method1() {
Share share = new Share();
}
void method2() {
Share share = new Share();
}
}
내부클래스 에서의 외부클래스
사용법
( 일부 사용 불가능 )
public class Outer {
int field1;
static int field2;
void method1() {}
void static method2() {}
public static class Share {
void method() {
// field1 = 10; <- 불가능
field2 = 10;
// method1() <- 불가능
method2()
}
}
}
'JAVA' 카테고리의 다른 글
Java - 익명 클래스 (1) | 2023.10.02 |
---|---|
Java - 내부 클래스 ( 로컬 클래스 ) (0) | 2023.10.02 |
Java - 내부 클래스 (일반속성 클래스) (0) | 2023.10.02 |
Java - 내부 클래스 (0) | 2023.10.02 |
Java - 람다식 표현 (2) | 2023.10.02 |