class 안에 interface interface 안에 class 모두 가능함.
interface OuterInterface {
class InnerClass
interface InnerInterface
}
class OuterClass {
class InnerClass
interface InnerInterface
}
class 멤버 끼리만 사용할 클래스는 inner 붙여준다
class Outer {
private val bar: Int = 1
inner class Inner {
fun foo() = bar
}
}
val demo = Outer().Inner().foo() // == 1
알수없는 이너클래스 인스턴스는 obejct 사용해서 생성된다...?
window.addMouseListener(object : MouseAdapter() {
override fun mouseClicked(e: MouseEvent) { ... }
override fun mouseEntered(e: MouseEvent) { ... }
})