[kotlin] 코틀린 클래스의 생성자

코틀린에서 클래스를 생성할 때 클래스의 속성을 초기화하고 클래스 인스턴스를 생성하는 방법에 대해 알아보겠습니다.

기본 생성자

코틀린 클래스는 기본적으로 생성자를 가지며, 클래스 이름 바로 뒤에 오는 괄호 안에 생성자 파라미터를 정의할 수 있습니다.

다음은 Person 클래스의 기본 생성자 예시입니다.

class Person(val name: String, val age: Int)

위의 예시에서 nameagePerson 클래스의 속성이며, 해당 생성자를 통해 속성이 초기화됩니다.

보조 생성자

코틀린 클래스는 여러 개의 보조 생성자를 가질 수 있습니다. 보조 생성자는 constructor 키워드를 사용하여 정의됩니다.

class Person(val name: String, val age: Int) {
    constructor(name: String) : this(name, 0)
}

위의 예시에서 Person 클래스는 두 개의 생성자를 가지며, 하나는 nameage를 받고, 다른 하나는 name만을 받습니다. 두 번째 생성자에서는 this 키워드를 사용하여 기본 생성자를 호출합니다.

초기화 블록

클래스의 초기화 블록은 init 키워드를 사용하여 정의됩니다. 초기화 블록은 클래스의 인스턴스가 생성될 때 호출되며, 보조 생성자보다 먼저 실행됩니다.

class Person(val name: String, val age: Int) {
    init {
        println("Person instance created")
    }
}

위의 예시에서 Person 클래스는 초기화 블록을 가지며, 클래스의 인스턴스가 생성될 때 "Person instance created"가 출력됩니다.

코틀린에서 클래스의 생성자를 활용하는 방법에 대한 간단한 설명이었습니다.

코틀린 공식 문서