Android/Kotlin

Class - nested

lipnus 2018. 11. 20. 22:37
반응형


일반 클래스

class Student {
var name: String? = null
var subject: Subject? = null

class Subject {
var math : Int? = null
var english : Int? = null
}

}


fun main(args: Array<String>){
var s = Student()
s.name = "선필"

var sub = Student.Subject()
sub.math = 90
sub.english = 96

s.subject = sub

println("${s.name}의 점수: ${s.subject?.math}, ${s.subject?.english} ")
}

선필의 점수: 90, 96 



//    s.subject = sub

이 부분을 주석처리하면 null Safety에 의해 아래와 같이 출력.

선필의 점수: null, null







데이터 클래스

data class Student(
var name: String,
var subject: Subject
){
data class Subject(
var math: Int,
var english: Int
)
}

데이터클래스의 nested class는 대괄호 안에 들어간다.



fun main(args: Array<String>){
var s = Student("선필", Student.Subject(90, 96))
println("${s.name}의 점수: ${s.subject?.math}, ${s.subject?.english} ")
}

선필의 점수: 90, 96 

반응형

'Android > Kotlin' 카테고리의 다른 글

Glide  (0) 2018.11.24
Button  (0) 2018.11.20
Class - 데이터클래스  (0) 2018.11.20
Class - 인터페이스  (0) 2018.11.20
Class - 상속  (0) 2018.11.20