자바(Java) - 멤버(Member) 이너 클래스 예제

안녕하세요

이번 시간에는 Member Inner 클래스 예제를 올려봅니다.

이 부분은 계속 좀 보고 공부해야 될 것 같네요.

아직도 개념이 헷갈리네요 ㅋ ㅜ

public class Outer{
int a=10;
static int b=20;

class Inner{ //Inner Member- a)non-static 클래스
int c=30;
void sub(){
System.out.println("sub()");
}

}//Inner class//

static class SInner{ //Inner Member - b) static 클래스
int d=40;
void foo(){
System.out.println("foo()");
}

static void bar(){
System.out.println("bar()@@@");
}

}
} // Outec Class

이제 메인 클래스 InnerClassTest 에서 Outer 클래스의 변수 값을 출력해보겠습니다.

public class InnerClassTest {

public static void main(String[] args) {
//1)Outer 클래스의 a,b 변수값을 출력하세요
Outer o=new Outer();
System.out.println("o1.a = "+o.a);
System.out.println("o1.b = "+o.b);

//2)Inner 클래스의 c변수값 출력하고 sub() 메소드 호출하기
Outer o1=new Outer();
Outer.Inner oi=o1.new Inner();
System.out.println("oi.c = "+oi.c);
oi.sub();

// 위의 2줄을 한 줄로..
Outer.Inner o2=new Outer().new Inner();
o2.sub();

//3)SInner클래스의 d 출력, foo(), bar() 호출하기
Outer.SInner sn=nw Outer.SInner();
System.out.println("sn.d = "+sn.d);
sn.foo();
Outer.SInner.bar(); // static이니 바로 접근 가능


}
}

위 예재를 실행한 결과 화면은 아래와 같습니다.



댓글 없음:

댓글 쓰기