테스트 클래스


public class OuterClass

{

String name = "조현";

int number = 81;

public void output(){

System.out.println("name = "+name+", number = "+number);

//내부 클래스에서 선언된 변수는 사용할 수 없다.

//System.out.pringln("tel = "+tel);

}


//내부 클래스 : 외부 클래스와 상속관계. 외부 클래스 변수를 사용할 수 있다.

//외부와 내부에 같은 변수가 존재할 경우 자신이 속한 클래스 변수를 사용한다.

public class InnerClass

{

String tel = "010-9142-1348";

int age = 35;

int number = 20;

public void innerOutput(){

//외부와 내부 클래스에 같은 변수가 존재할 경우 '외부클래스명.this.변수명' 으로 사용한다.

//for(int i=1; i<=Outer.this.number; i++){

for(int i=1; i<=number; i++){

System.out.println("i = "+i);

}

}

}

}


=====================================================================

메인 클래스

public class  InnerMain

{

public static void main(String[] args) 

{

//내부 클래스 사용하기

//내부 클래스를 사용하기 위해서는 외부 클래스 객체가 있어야 한다.


//외부 클래스 객체생성

OuterClass oc = new OuterClass();

oc.output(); //실행 확인


//내부 클래스 객체생성 (= 외부클래스명.내부클래스명 객체명 = 외부클래스객체명.new 내부클래스명)

OuterClass.InnerClass oi = oc.new InnerClass();

oi.innerOutput();

}

}



Posted by Hyun CHO
,