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();
}
}