반응형
** inner 클래스
: 클래스 안에 또다른 클래스를 정의 하는 것
inner 클래스는 outer 클래스의 멤버처럼 동작한다.
즉, outer클래스의 멤버변수나 멤버메소드에 자유롭게 접근가능
반대로 outer 클래스에서 inner 클래스로 접근하려면 객체 생성 및 통해서만 가능하다.
만약 inner클래스가 다른 곳에서도 사용될 필요가 있다면 inner 클래스를 쓰는게 부적합하다.
outer클래스에서만 필요하다면 inner클래스가 적합하다
자주 쓰이는 용도 : awt 나 안드로이드 이벤트처리 등에 자주 쓰임
컴파일시 inner 클래스는 A$B 로 만들어짐
B클래스 객체 생성시
A.B ob = new A().new B();
ob.info();
이런식으로 해야하기에 외부에서 많이 사용할 경우 적합하지 않다
예)
class A 는 class B의 속성값을 쓰려면 객체를 생성해야함
(객체 생성 예.
B ob = new B();
System.out.println(ob.j);
class B 는 class A의 속성1,2나 동작1,2 모두 사용가능
class A{
class B{
속성3;
속성4;
}
속성1;
속성2;
.....
동작1(){
}
동작2(){
}
}
반응형
'JAVA > JAVA' 카테고리의 다른 글
자바 개념 - 예외처리 (0) | 2016.06.12 |
---|---|
자바 예제 - inner 클래스 만들어지는 과정 (0) | 2016.06.12 |
자바 개념 - equals 메소드와 toString 메소드 설명 (0) | 2016.06.12 |
자바 개념 - 인터페이스 interface (0) | 2016.06.12 |
자바 개념 - final 키워드 설명 및 예제 (0) | 2016.06.12 |