클래스
class Invoice(data:Int){
}
기본 생성자
class Person constructor(firstName: String){
}
class Person(firstName: String){
}
class Customer(name: String){
init{
println("Customer initialized with value ${name}")
}
}
class Customer(name: String){
val customerKey = name.toUpperCase()
}
class Person(val firstName: String, val lastName: String) // 여기에 프로퍼티를 넣으면 간단.
{
// ...
}
class Customer public @Inject constructor(name:String) {...}
보조생성자
class Person{
constructor(parent: Person){
parent.children.add(this)
}
}
class Person(val name:String) // 기본생성자
{
constructor(name:String, parent:Person):this(name) {
} // 직접적 보조
constructor():this("홍길동",Person()){
} // 간접적 보조생성
}
생성된 기본생성자(Generated)
class DontCreateMe private constructor(){
}
인스턴스 생성
val invoice = Invoice()
val customer = Customer("Joe Smith")
클래스 멤버