public class JavaPerson {
private final String name;
private int age;
//getter, setter ...
}
class Person constructor(name: String, age: Int) {
val name = name // 생성 이후 불변
var age = age
}
프로퍼티 = 필드+getter+setter
코틀린에서는 필드만 만들면 getter와 setter를 자동으로 만들어준다.
따라서 getter, setter 코드가 필요가 없다!
constructor 지시어는 생략할 수 있다.
클래스의 필드 선언과 생성자를 동시에 선언할 수 있다.
위에 코틀린 코드를 간략화하여 아래와 같이 사용한다.
class Person(val name: String, var age: Int)
.필드 를 통해 getter와 setter를 바로 호출한다.
fun main()
{
val person = Person("서진하", 26)
person.age = 10
println(person.name)
}
init 블록은 생성자가 호출되는 시점에 호출된다.
클래스가 생성되는 시점에 무언가 검증 로직을 해주고 싶다면
init 블록에 코드를 작성한다.