728x90
반응형
Nested Class
: 중첩 클래스 or Inner Claas
→ 클래스 안에 클래스를 정의
→ 내부 클래스를 정의하는 이유는 Outer Class의 private member에 직접 접근해 사용할 수 있기 때문에 주로 쓴다.
사용 예제
//outer class
class Outer{
private String password = "abcd";
//outer class에 inner class의 객체 생성 가능
public void outTest() {
Inner in = new Inner();
in.innterTest();
}
//inner class
class Inner{
public void innterTest() {
//Outer class의 private 변수에 직접 접근해 사용할 수 있음
System.out.println(password);
}
}
}
public class TestNestedClass {
public static void main(String[] args) {
Outer out = new Outer();
out.outTest();
//Inner class 객체 생성 시
//Outer class를 거쳐서 생성해야 함
Outer.Inner in = new Outer().new Inner();
}
}
728x90
반응형