[kotlin] Nested Class And Inner Class
2018. 6. 18. 02:20ㆍkotlin-이론
Nested Class And Inner Class
Nested Class(중첩 클래스)
중첩 클래스는 클래스안에 한개의 클래스를 또 선언하는 것을 말한다.
fun main(args: Array<String>) {
println(OuterClass.InnerClass().foo()) } class OuterClass{ var bar:Int = 2 class InnerClass{ fun foo() = 2 } }
이와 같이 사용할 수 있는데 덮고 있는 클래스의 멤버에는 도달 할 수 없는 것 같다. 따로 값을 전해주고 싶다면 생성자를 통해 전해주어야 한다.
Inner Class(내부 클래스)
내부 클래스는 클래스안에 한개의 클래스를 또 선언하는 것을 말한다. 하지만 위와 달리 덮고 있는 클래스의 멤버 변수에 접근할 수 있다.
fun main(args: Array<String>) { println(OuterClass().InnerClass().foo()) } class OuterClass{ var bar:Int = 2 class InnerClass{ fun foo() = bar } }
중첩클래스와 다리 덮고있는 클래스의 객체화를 통해 감싸고 있는 클래스에 접근할 수 있다.
'kotlin-이론' 카테고리의 다른 글
[kotlin] Object Declarations (0) | 2018.06.18 |
---|---|
[kotlin]Object Expression (0) | 2018.06.18 |
[kotlin]Data Class (0) | 2018.06.18 |
[kotlin] kotlin 강의 properties2 (0) | 2018.06.17 |
[kotlin] kotlin 강의 properties1 (0) | 2018.06.16 |