Constructor with default parameters

You can use usual constructor with named parameters and default values. For better Java interoperability you can decorate these constructors with @JvmOverloads. The compiler will generate overloaded variants of decorated constructors.