JAVA] 무명클래스란? (Anonymous Class)
무명클래스를 이해하는데 시간이 쫌 걸렸다...
자바 GUI를 기준으로 설명하겠다.
//소스1 import java.awt.*;
class frm extends Frame{ public frm(){ addWindowListener( new SubClass() ); }
/*유명클래스로 생성할때, 클래스내에서 새로운 클래스 생성. 이때, 생성자와는 분리되어야 한다.*/ }
|
위 소스에서 굵은글씨의 아래쪽 클래스는 내부클래스이지만 SubClass라는 이름을 갖는다.
SubClass는 생성후 레퍼런스의 유지가 필요없기 때문에, 굳이 새로운 class를 생성할 필요가 없다.
그래서 SubClass를 이름이 없는 '무명'클래스로 바꿀 수 있다.
|
위와같은 형태로 바뀌었다.
직접 써가면서 더 느껴야 할 것 같지만, 이렇게 내부 무명클래스로 adapter로 객체를 생성해서쓰면
이벤트처리에 대한 접근이 편해진다고한다.