package com.inner;//내부 클래스

class Outer{
	int a =100;
	//멤버 내부 클래스
	class Inner{
		int b = 200;
	}
}

public class InnerTest {
	public static void main(String[] args){
		Outer ot = new Outer();
		System.out.println("ot = "+ot);
		System.out.println(ot.a);
		
		//내부 클래스 객체 생성
		Outer.Inner oi = ot.new Inner();
		System.out.println("oi = "+oi);
		System.out.println(oi.b);
	}
}





class Outer{
	//멤버 변수
	int a = 100;
	//멤버 내부 클래스
	class Inner{
		int b = 200;
		public void make(){
			//멤버 내부 클래스는 내부 클래스를 포함하는 \
			//클래스(Outer)의 멤버변수 호출 가능
			System.out.println("a = "+a);
			System.out.println("B = "+b);
		}
	}
}

public class InnerTest {
	public static void main(String[] args){
		/*Outer ot = new Outer();
		Outer.Inner oi = ot.new Inner();
		oi.make();*/	
		
		Outer.Inner oi = new Outer().new Inner();
		oi.make();
	}
}





package com.inner3;

public class LocalInner {
	public void innerTest(){
		//로컬 내부 클래스
		class Inner{
			public void getDate(){
				System.out.println("Local 내부 클래스 호출!!");
			}
		}
		Inner i = new Inner();
		i.getDate();
	}//innerTest()끝
	public static void main(String[] args){
		LocalInner outer = new LocalInner();
		outer.innerTest();
	}
}


'Java > Modifier(제어자)' 카테고리의 다른 글

내부 클래스 호출에 대해서  (0) 2012.04.11
내부 클래스 static  (0) 2012.04.11
내부 클래스 지역변수 상수 호출  (0) 2012.04.11
클래스와 상수  (0) 2012.04.11
상수 final  (0) 2012.04.11

+ Recent posts