KOTLIN · 객체지향
중첩 클래스 (Nested Class)
중첩 클래스는 외부 클래스의 인스턴스에 접근하지 않는 정적 내부 클래스입니다. Java의 static class에 해당합니다.
객체지향입문nested-classstatic-innerencapsulation
핵심 설명
중첩 클래스는 외부 클래스의 인스턴스에 접근하지 않는 정적 내부 클래스입니다. Java의 static class에 해당합니다.
Kotlin code
class Outer(val name: String) {
// 중첩 클래스: 외부 인스턴스에 접근 불가
class Nested {
fun greet() = "중첩 클래스에서 인사!"
// println(name) // 컴파일 오류!
}
// 중첩 enum
enum class Color { RED, GREEN, BLUE }
// 중첩 data class
data class Config(val key: String, val value: String)
fun createConfig() = Config("host", "localhost")
}
fun main() {
// 외부 인스턴스 없이 생성 가능
val nested = Outer.Nested()
println(nested.greet())
val color = Outer.Color.RED
println(color)
val config = Outer.Config("port", "8080")
println(config)
}학습 팁
중첩 클래스는 외부 클래스의 참조를 갖지 않아 메모리 누수 위험이 없습니다. 관련성 있는 타입을 논리적으로 그룹화할 때 사용하세요.
주의할 점
Kotlin의 중첩 클래스는 기본적으로 Java의 static class입니다. 외부 인스턴스 접근이 필요하면 inner class를 사용하세요.
자주 묻는 질문
중첩 클래스 (Nested Class)란 무엇인가요?
중첩 클래스는 외부 클래스의 인스턴스에 접근하지 않는 정적 내부 클래스입니다. Java의 static class 에 해당합니다.
중첩 클래스 (Nested Class) 학습 시 주의할 점은 무엇인가요?
Kotlin의 중첩 클래스는 기본적으로 Java의 static class 입니다. 외부 인스턴스 접근이 필요하면 inner class 를 사용하세요.
Continue Learning
Kotlin 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.