ν΄λμ€(μ€κ³λ) -λ§λλλ²/μ μ (μμ±μ)-κ°μ²΄(μ§)
β
β
μλ°μμλ "ν΄λμ€μ΄λ¦(맀κ°λ³μ)" ννλ‘ μμ±μλ₯Ό λ§λ€κ³ , overloading νμ¬ μμ±μλ₯Ό μ¬λ¬κ° λ μ μλ€.(맀κ°λ³μμ μ λλ νμ λ±μ μ°¨μ΄λ₯Ό λμ΄ μλ‘ κ°μ§ μκ² νλ€.)
β
β
β
μμ±μ: κ°μ μ€μ ν΄μ€ μ μλ€.
β
ν΄λμ€ μ 체 μ½λ
class MyFriendParans (var name:String?, var age:Int?, private var address:String?){ var pet:Boolean?=null //첫λ²μ§Έ νΈμΆ //μμλ λ, κ°μ²΄κ° λ©λͺ¨λ¦¬μ μ¬λΌκ° λ νΈμΆλ¨ init { this.name="μ΅λͺ " //μΈλΆμμ μ΄λ€ κ°μ μ£ΌλλΌλ "μ΅λͺ "μΌλ‘ μ€μ } //λλ²μ§Έ νΈμΆ //μΆκ° μμ±μ: κΈ°μ‘΄μ μλ κ²μ μΆκ°λ‘ λ°κΈ° //μΆκ°λ λΆλΆμ μ μΈνκ³ κΈ°μ‘΄μ μλ 맀κ°λ³μλ λ°νν΄μΌνλ€. constructor(name:String?, age:Int?, address:String?, pet:Boolean?) : this(name,age, address){ this.pet=pet } }
β
β
primary constructor μ ν΄λμ€ μ΄λ¦(맀κ°λ³μ)λ‘ νλ€.
class MyFriendParans (var name:String?, var age:Int?, private var address:String?)
β
β
secondary constructor(μΆκ° μμ±μ)μ constructor ν€μλλ₯Ό μ¬μ©νλ©° primary constructμ 맀κ°λ³μμ μΆκ°λ‘ 맀κ°λ³μλ₯Ό μμ±νλ€. μΆκ°λ λΆλΆμ μ μΈν κΈ°μ‘΄μ 맀κ°λ³μλ this(맀κ°λ³μ) λ‘ λ°νν΄μΌνλ€. μ΅μμ constructorμμλ§ val/var λ³μλ₯Ό κ°μ§ μ μλ€.(μ μ λ³μ μν ) μΆκ°λ 맀κ°λ³μλ νμλ μλλ€.
constructor(name:String?, age:Int?, address:String?, pet:Boolean?) : this(name,age, address){ this.pet=pet }
β
β
β
κ°μ²΄ μμ±(κΈ°λ³Έ μμ±μ)
var myFriend2=MyFriendParans("κΉμ² μ",110,"λΆμ°")
(μΆκ° μμ±μ μ¬μ©)
var myFriend3=MyFriendParans("κΉμ² μ",110,"λΆμ°", true)
β
β
β
β
β
β
μ½νλ¦°μμλ μ΄κΈ°ν λΈλ‘(initializer block)μ ν΅ν΄ μ΄κΈ°ν λ‘μ§μ μΆκ°ν μ μλ€.
init{}μ μμν λ μ¦ κ°μ²΄κ° λ©λͺ¨λ¦¬μ μ¬λΌκ° λ νΈμΆλλ©° κ°μ μ€μ ν μ μλ€. μμ±μμμ κΈ°λ³ΈμΌλ‘ κ°μ μ€μ νκ³ μ ν λ init{}μ μ¬μ©νμ§ μκ³ λ λ°λ‘ μ€μ κ°λ₯νλ€.
init { this.name="μ΅λͺ " //μΈλΆμμ μ΄λ€ κ°μ μ£ΌλλΌλ "μ΅λͺ "μΌλ‘ μ€μ }
β
β
β
β
맀κ°λ³μκ° λ³΅μ‘ν λμλ μ‘°κΈ λ μ μ°νκ² κ°μ²΄λ₯Ό μμ±νκΈ° μν΄μλ λμμΈ ν¨ν΄, λΉλ ν¨ν΄μ μ¬μ©νλ€.
β
β
β
β
https://www.youtube.com/watch?v=CbMCvZJxUZU&t=148s
μ°Έκ³ κ°μ
https://thdev.tech/kotlin/2017/03/09/Kotlin-Constructor-Init/
μ°Έκ³ μλ£
μ°Έκ³ μλ£
'Android' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Android] μλλ‘μ΄λ REST API (0) | 2021.06.18 |
---|---|
[Android] μλλ‘μ΄λ API (0) | 2021.06.18 |
[Kotlin] λ³μμ ν¨μ 1 (0) | 2021.06.18 |
[Android] ViewPager1κ³Ό ViewPager2 (0) | 2021.06.18 |
[Kotiln] μ½νλ¦° κΈ°λ³Έ μμ±λ²νλ‘νμΌ (0) | 2021.06.18 |