fun main(args: Array<String>){
val p1 = Point(1)
val p2 = Point(1,2)
val p3 = Point(1,2,3)
}
class Point(var x: Int, var y: Int = 0, var z:Int = 0){}
위와 같이 멤버 변수를 디폴트 값으로 설정하면 코틀린의 primary constructor가 우리가 따로 정의하지 않아도 자동으로 overloading 된다.
fun main(args: Array<String>){
val p1 = Point(1, z= 0)
val p2 = Point(1, z = 3)
val p3 = Point(1,2,3)
}
class Point(var x: Int, var y: Int = 0, var z:Int){}
위와 같이 디폴트 값을 제일 마지막부터 순서대로 넣지 않더라도 생성자 파라미터에 explicit하게 멤버 변수를 넣어주면 오류가 발생하지 않는다. 하지만 readability가 떨어지고 원하지 않는 결과를 초래할 수도 있기 때문에 권장되지 않는다.