안녕하세요
이번 시간에는 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이니 바로 접근 가능
}
}
위 예재를 실행한 결과 화면은 아래와 같습니다.
댓글 없음:
댓글 쓰기