728x90
package com.example.kotlin
fun main() {
val user = User("Hesse",24)
println(user.age)
val kid = Kid("아이",3,"male")
}
open class User(open val name : String, open var age: Int=100) //생성자 Constructor
class Kid constructor(override val name: String, override var age: Int) : User(name,age) {
var gender: String = "female"
init {
println("초기화 중 입니다.") //fregment 초기화할 때, 클래스 내에서 먼저 해야하는 것 있을 때
}
constructor(name: String, age: Int, gender: String) : this(name, age){ //secondary structor
this.gender = gender
println("부 생성자 호출")
}
}
//Constructor와 Property 한 번에 할 수 있는 부분 있다.
//Default Value 넣을 수 있다.
//초기화하는 방식이 주 생성자 뿐 아니라 Init block, 부생성자 Secondary Structor 이용할 수 있다.
//호출 순서는 init 불리고 부 생성자가 호출이 된다.
728x90
'코틀린(Kotlin)' 카테고리의 다른 글
| (코틀린/Kotlin) 컬렉션 (list, map) (0) | 2024.02.06 |
|---|---|
| (코틀린/Kotlin) 반복문 (0) | 2024.02.06 |
| (코틀린/Kotlin) 조건식 (0) | 2024.02.06 |
| (코틀린/Kotlin) 변수 (0) | 2024.02.05 |
| (코틀린/Kotlin) 함수 기초 (0) | 2024.02.05 |