π‘ μ½νλ¦°μμλ κ°λ¨νκ³ , λ€μνκ² μμ±μλ₯Ό μ μν μ μμ΅λλ€. μμ±μμ λνμ¬ νμ΅νμμ΅λλ€.
μ£Όμμ±μ (Primary Constructor)
class Movie(val name: String, val time: String)
- μμ κ°μ΄ ν΄λμ€ μ΄λ¦ μμ κ΄νΈλ‘ λλ¬μΈμΈ μ½λλ₯Ό μ£Ό μμ±μλΌκ³ ν©λλ€.
- μμ±μ νλΌλ―Έν°λ₯Ό μ§μ νκ³ , κ·Έ νλΌλ―Έν°μ μν΄ μ΄κΈ°νλλ νλ‘νΌν°λ₯Ό μ μνλ λͺ©μ μ μ°μ
λλ€.
- μμ±μ νλΌλ―Έν° : ν΄λμ€μ μμ±μλ₯Ό νΈμΆν λ μ λ¬λλ κ°
- κ°μ²΄κ° μμ±λ λ νμν μ΄κΈ° μ€μ κ°μ μ 곡
class Movie(name: String)
- νλ‘νΌν° : ν΄λμ€μ μ μλ λ³μλ‘, ν΄λμ€μ μμ±μ λνλ
- κ°μ²΄μ μνλ₯Ό λνλ΄λ©°, κ°μ²΄κ° μ‘΄μ¬νλ λμ κ°μ μ μ§νκ³ μ¬μ© κ°λ₯
class Movie(val name: String)
- μμ±μ νλΌλ―Έν° : ν΄λμ€μ μμ±μλ₯Ό νΈμΆν λ μ λ¬λλ κ°
- constructor ν€μλ
- μ€μ λ‘λ constructor ν€μλκ° μλ΅λ κ²μ λλ€.
- μ£Ό μμ±μκ° μ΄λ Έν μ΄μ μ΄λ μ κ·Ό μ μ΄μ(private, protected..)μ κ°μ§λ©΄ μλ΅ν μ μμ΅λλ€.
class Movie private constructor(val name: String)
- Init λΈλ‘
- μ½νλ¦°μ μ£Ό μμ±μμ μ½λλ₯Ό μΆκ°νλ κ²μ λΆκ°λ₯ ν©λλ€.
- μ ν¨μ± κ²μ¦ λ±μ μ΄κΈ°ν μμ νμν μμ μ Init λΈλ‘μ νμ©ν©λλ€.
λΆμμ±μ (Secondary Constructor)
class Movie(val name: String) {
var time: String = "2024-06-16"
var price: Int = 3000
constructor(name: String, time: String){
this.time = time
} // μ»΄νμΌ μλ¬ λ°μ
constructor(name: String, time: String): this(name) {
this.time = time
}
constructor(name: String, time: String, price: Int): this(name,time) {
this.price = price
}
- λΆμμ±μλ ν΄λμ€ λ΄μ μ‘΄μ¬νλ μμ±μμ΄λ©°, constructor ν€μλλ₯Ό νμ©ν©λλ€.
- μ»΄νμΌ μλ¬ ?
- μ£Όμμ±μκ° μ‘΄μ¬νλ€λ©΄, λΆμμ±μλ λ°λμ μ£Όμμ±μμκ² μ§κ°μ μ μΌλ‘ μμ±μ μμν΄μΌ ν©λλ€.
- μ΄λ λΆμμ±μλ λ°λμ μ£Όμμ±μμ λν νλΌλ―Έν°λ νλ‘νΌν°λ₯Ό μμν΄μΌν¨μ λ»ν©λλ€.
- λΆμμ±μμ Init λΈλ‘
- λΆμμ±μμ Init λΈλ‘μ΄ μ‘΄μ¬νλ€λ©΄ λ°λμ Init λΈλ‘μ΄ λ¨Όμ μνλ©λλ€.