<aside> π‘
μ μ νμ μ§μ μΈμ΄ : νλ‘κ·Έλ¨ κ΅¬μ± μμμ νμ μ μ»΄νμΌ μμ μ μ μ μλ€.
</aside>
.class file
λ₯Ό νμΌμ μ½κΈ° μμνλ μμ final class
: μμμ΄ λΆκ°λ₯ν class
class
λ κΈ°λ³Έμ μΌλ‘ μμμ΄ λΆκ°λ₯ν final class
λ€.open
Mission : μλ°μ fieldλ μ§μ λ ΈμΆνμ§ μκ³ μ getter,setterλ₯Ό μ¬μ©νλκ° ?
class Person{
val name: String
var age: Int
constructor(name: String, age:Int){
this.name = name
this.age = age
}
}
// μ΄λ° μλ° μ€νμΌμ μ½λ μ΄κΈ°ν κΈ°λ²μμ **λ³μμ μ μΈκ³Ό μ΄κΈ°νλ₯Ό λμμ** νκΈ° μν΄ λ§λ κ²μ΄ μμ±μ.
class Person(val name: String, var age: Int)
class Person(
val name: String,
var age: Int,
// νλ‘νΌν°κ° μλ κ·Έλ₯ μμ±μμ νλΌλ―Έν° μ¦, getter, setterκ° μμ±λμ§ μλλ€.
nickName: String
)
class Person(
val name: String,
var age: Int,
nickName: String
){
constructor(name: String, age: Int) : this(name, age, name)
}
class Person(
val name: String,
var age: Int,
nickName: String = name // default value
) // λ κ°μ μμ±μλ₯Ό κ°μ§ class
νλ
νλ‘νΌν° : field + getter + setter
<aside> π‘
νλ‘νΌν°μ νμ λ°°κ²½ κ΄μ΅μ μΌλ‘ μμ±νλ μ½λ(getter, setter)λ₯Ό μΈμ΄ μ체 λ 벨μμ μ 곡νμ
</aside>
μ½νλ¦°μ λ ν€μλ (val
λ° var
)λ₯Ό μ¬μ©ν΄ λ³μ(νλ‘νΌν°)λ₯Ό μ μΈνλ€.
val(value)
κ°μ΄ λ³κ²½λμ§ μλ λ³μλ₯Ό μ μΈνλ©° μλ°μ finalμ μλ―Ένλ€.
μ ννλ βμ½κΈ° μ μ©β νλ‘νΌν°μ λν μ μΈμ΄λ€.
νλ‘νΌν° μ체λ λ³κ²½ν μ μμ§λ§ κ°μ λ³κ²½ν μ μλ νμ (Ex. MutableList)λ₯Ό μ¬μ©ν μ μκΈ° λλ¬Έ
var(variable)