[kotlin] 추상 클래스에서의 초기화 블록 사용 방법

추상 클래스는 일반 클래스와는 다르게 객체를 생성할 수 없으며, 하위 클래스에서 구현되어야 하는 추상 메서드를 포함할 수 있습니다. 이때, 추상 클래스를 초기화하는 방법 중 하나는 초기화 블록을 사용하는 것입니다.

초기화 블록은 클래스가 생성될 때 실행되는 코드 블록으로, 객체 초기화 시에 필요한 작업을 수행하기 위해 사용됩니다.

abstract class Vehicle {
    init {
        // 추상 클래스 초기화 블록 내용
        println("Vehicle이 초기화되었습니다.")
    }
}

위 예시에서는 Vehicle 추상 클래스의 초기화 블록을 작성하였습니다. 이 초기화 블록은 Vehicle 클래스가 초기화될 때에 실행되며, “Vehicle이 초기화되었습니다.”라는 메시지를 출력합니다.

또한, 하위 클래스에서 초기화 블록을 오버라이드하거나 확장하여 사용할 수도 있습니다.

class Car : Vehicle() {
    // Vehicle 클래스의 초기화 블록을 오버라이드
    init {
        println("Car가 초기화되었습니다.")
    }
}

위의 예시에서는 Car 클래스가 Vehicle 클래스를 상속하고, Vehicle 클래스의 초기화 블록을 오버라이드하여 “Car가 초기화되었습니다.”라는 메시지를 출력하도록 설정하였습니다.

이처럼, 추상 클래스의 초기화 블록은 객체 초기화에 필요한 추가적인 작업을 수행하기 위해 활용될 수 있습니다.

더 자세한 정보는 코틀린 공식 문서에서 확인할 수 있습니다.