티스토리 뷰
728x90
1. Nested class
Nested: 내포된 이라는 뜻으로, Class 안에 있는 일반 Class 가 있는 경우를 말한다.
class Outer {
class Nested {
val a = 1
}
}
java 로 Decompile해보면 아래와 같다.
static 처리가 되어 있어서 아래와 같이 Nested 클래스를 호출할 수 있다.
Outer.Nested()
※ 주의 사항
Kotlin에서 Nested Class는 내부적으로 Static 처리를 한다는 것이다.
Java에서 Nested Class를 선언하면 Static 이 아니란 걸 주의하면 된다.
(안드 개발시 Kotlin과 Java를 왔다갔다 하면서 사용할 일이 많아서 둘다 알아야 한다...)
2. Inner class
Java에서 Nested Class 선언하는 것과 비슷하다.
즉, static 처리를 하지 않기 위해 Inner 를 사용한다는 것
class Outer {
inner class Nested {
val a = 1
}
}
사용은 아래와 같다.
Outer().Inner()
'kotlin' 카테고리의 다른 글
SAM Conversions (0) | 2019.12.30 |
---|---|
Generic (0) | 2019.10.15 |
Kotlin 자세히 알아보기 -Higer-Order Function (0) | 2019.08.18 |
Kotlin 자세히 알아보기 - class 안에 class 정의하기, Anonymous (0) | 2019.08.15 |
Kotlin 자세히 알아보기 - apply, with, let, also, run (0) | 2019.08.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Flutter
- MVP
- flutter fcm push message background foreground killed
- SpinnerAdapter
- Kotlin
- multi api
- provider
- Spinner
- changenotifier
- rxjava
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함