nested class와 inner class
Java에서 inner class(
class
내부의class
)는 outer class의 참조를 저장한다. 그래서CustomInteger
의value
를CustomIntegerCache
에서 사용할 수 있다.Java에서 nested class(
class
내부의static class
)는 outer class의 참조를 저장하지 않는다. 그래서StaticCustomIntegerCache
에서는CustomInteger
의value
를 사용할 수 없다.
Kotlin에서는 Java 와 반대로 작동한다.
Java의 inner class는 inner class며, nested class(static class)는 Kotlin에서 class다.
Kotlin에서 inner class(
class
내부의inner class
)는 outer class의 참조를 저장한다. nested class(class
내부의class
)는 outer class의 참조를 저장하지 않는다.Kotlin에서
inner class
는this@CustomInteger
형식으로 외부 클래스를 참조할 수 있다.Outer class에서도 inner class나 nested class의
private
,protected
멤버에는 접근할 수 없다.
Last updated