1. 클래스와 프로퍼티
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)
}
  1. 생성자와 init

init 블록은 생성자가 호출되는 시점에 호출된다.

클래스가 생성되는 시점에 무언가 검증 로직을 해주고 싶다면

init 블록에 코드를 작성한다.