【Kotlin】privateなコンストラクタとスタティックメソッド

private constructorで外部からインスタンスを生成できなくなる。
companion object内のメソッドはスタティックメソッドになる。
次のように書くことでスタティックメソッド経由でオブジェクトを生成できる。

class Person private constructor(age: Int) {
    val age = age
}

companion object {
    fun create(age: Int) {
        return Person(age)
    }
}