반응형
일반 클래스
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 |