class OuterClass{
//중첩클래스
class NestedClass
}
중첩클래스의 class 키워드 앞에 inner 키워드를 붙이면 내부클래스가 된다.
class OuterClass{
//내부클래스
inner class InnerClass
}
이 두 클래스에 대해서 공통점과 차이점을 간단히 요약해보면 다음과 같다.
공통점 : 클래스 내부에 다른 클래스로 정의된다.
외형적 차이점 : inner 키워드를 쓰면 내부클래스, 안쓰면 중첩클래스이다.
기능적 차이점 : 중첩클래스는 OuterClass의 참조를 가지지 않지만 내부클래스는 OuterClass의 인스턴스를 참조를 가진다.
중첩클래스는 외형적으로는 OuterClass 소속인 것 같지만 사실은 연관성이 거의 없다.
class OuterClass { |
https://www.bsidesoft.com/8218 에 더 많은 내용이 있으니 참조하면 도움된다.
'안드로이드 > Kotlin 문법' 카테고리의 다른 글
코틀린 제네릭 공변, 반공변 (0) | 2024.02.04 |
---|---|
[코틀린] ArrayList, mutableListOf (0) | 2021.06.14 |
[코틀린] Nested Class (중첩 클래스) (0) | 2020.08.21 |
코틀린 클래스 (0) | 2020.05.06 |
코틀린 null 안전과 예외 (0) | 2020.05.05 |