Test119 중첩 클래스 종류 / 지역 클래스(로컬 클래스, local class)
※ Test117과 비교할 것~!!!
※ 지역 클래스(로컬 클래스, local class)
: 메소드 내부에...『public class 클래스명』 or 『public static class 클래스명』
InnerOuterTest .java
class InnerOuterTest // outer
{
static int a=10;
int b=20;
// inner
class InnerNested
{
int c=30;
void write() //-- inner 의 write()
{
System.out.println("inner 의 write()...");
System.out.println("a : " + a);
System.out.println("b : " + b);
System.out.println("c : " + c);
}
}
void write() //-- outer 의 write()
{
System.out.println("outer 의 write()...");
InnerNested ob1 = new InnerNested();
ob1.write(); //-- inner 의 write()
}
}
Test119.java
public class Test119
{
public static void main(String[] args)
{
InnerOuterTest ob2 = new InnerOuterTest();
ob2.write(); //-- outer 의 write
// InnerNested ob3 = new InnerNested();
// --==>> 에러 발생
// InnerOuterTest.InnerNested ob3 = new InnerOuterTest.InnerNested();
// --==>> 에러 발생
// ※ 중첩 내부 클래스와는 달리 외부 클래스의 인스턴스(객체)를
// 사용하지 않고 단독으로 내부 클래스의 인스턴스를 생성하는 것은 불가능하다.
// ※ Test117 과 비교할 것~!!
InnerOuterTest.InnerNested ob3 = ob2.new InnerNested();
//-->>InnerOuterTest.InnerNested ob3 = new InnerOuterTest().new InnerNested(); 와 같은 구문
ob3.write();
}
}
cmd
outer 의 write()...
inner 의 write()...
a : 10
b : 20
c : 30
inner 의 write()...
a : 10
b : 20
c : 30
계속하려면 아무 키나 누르십시오 . . .
'Study Note > Java' 카테고리의 다른 글
JAVA_ Test121_ import 문 / 『java.lang.Object』 클래스 (0) | 2018.06.16 |
---|---|
JAVA_ Test120_ 중첩 클래스 ④ / 무명 클래스(익명 클래스, annonymous class) (0) | 2018.06.16 |
JAVA_ Test118_ 중첩 클래스 종류 / 지역 클래스(로컬 클래스, local class) (0) | 2018.06.16 |
JAVA_ Test117_ 중첩 클래스 종류 / static 중첩 클래스 / 내부 클래스 / 지역 클래스 / 무명 클래스 (0) | 2018.06.16 |
JAVA_ Test116_ 인터페이스(Interface) / 인터페이스를 활용하여 성적 처리 프로그램을 구현 (0) | 2018.06.16 |
댓글