Notice
Recent Posts
Recent Comments
Link
투케이2K
140. (kotlin/코틀린) sealed class 추상 클래스 선언 및 data class 하위 클래스 생성 실시 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// -----------------------------------
// [요약 설명]
// -----------------------------------
// 1. sealed class 는 자기 자신이 추상 클래스이고, 자신을 상속 받는 여러 서브 클래스 들을 가질 수 있습니다
// 2. sealed class 는 enum 클래스와 달리 상속을 지원합니다
// 3. sealed class 는 상속받는 서브 클래스의 종류를 제한할 수 있습니다
// 4. sealed class 의 sub class 들은 반드시 같은 파일 내에 선언되어야 합니다
// 5. sealed class 는 기본적으로 abstract class 입니다
// 6. sealed class 는 private 생성자만 가집니다
// 7. sealed class 의 하위 클래스는 class, data class, object class 로 정의할 수 있습니다
// -----------------------------------
// -----------------------------------
// [클래스 생성 실시]
// -----------------------------------
sealed class Color {
data class Red(val r: Int, val g: Int, val b: Int) : Color()
data class Green(val r: Int, val g: Int, val b: Int) : Color()
data class Blue(val r: Int, val g: Int, val b: Int) : Color()
}
// -----------------------------------
// [메인 동작 실시]
// -----------------------------------
fun main() {
val color: Color = Color.Red(255, 0, 0) // Color 클래스 생성
println(color)
when (color){
is Color.Red -> println("Red 입니다")
is Color.Green -> println("Green 입니다")
is Color.Blue -> println("Blue 입니다")
}
}
// -----------------------------------
// [결과 출력]
// -----------------------------------
// Red(r=255, g=0, b=0)
// Red 입니다
// -----------------------------------
반응형
'Kotlin' 카테고리의 다른 글
Comments