ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Kotlin] 코틀린 생성자(Constructor)
    코틀린 공부/코틀린 기초 2024. 5. 17. 11:31

    코틀린의 생성자를 알기는 했지만 너무 간략하게만 알고 있어서 좀더 명확하게 공부할 필요성을 느껴 공부할 필요성이 있었다. 

     

    코틀린의 생성자(Constructor)

     

    코틀린에서는 하나의 주생성자와 여러개의 부 생성자를 나눠서 사용할 수 있다. 

     

    1. 주생성자

    a) constructor 키워드 사용

    class Test1(private val name: String, val age: Int, val money: Int) 

     

    b) constructor 키워드 사용

    class Test1 constructor(private val name: String, val age: Int, val money: Int) 

     

    c) init()

    • 주생성자 같은 경우 생성자를 만들면서 수행하고 싶은 기능을 수행할 수 없다. 그래서 있는게 초기화 블록이다. 
    class Test1 (private val name: String, val age: Int, val money: Int) {
        init {
            println("init - $name")
        }
    }

     

    위와 같이 init()을 통해 필요한 기능을 class가 만들어지면서 수행할 수 있다.

     

    d) default값 정의

    • 미리 default 값도 정의할 수 있다. 
    class ConstructorExample (private val name: String, val age: Int, val money: Int = 1)

     

     

    2. 부생성자

    부 생성자는 클래스 본문 안에서 정의되는 생성자다.

    class ConstructorExample (private val name: String, val age: Int, val money: Int) {
        init {
            println("init - $name")
        }
    
        constructor() : this("Tom") {
            println("constructor1")
        }
        constructor(name: String) : this(name, 11) {
            println("constructor2")
        }
        constructor(name: String, age: Int) : this(name, age, 10000){
            println("constructor3")
        }
    }
    

     

     

    위에 class를 불러와서 실행 시킬 경우 init에 들어 있는 것이 가장 먼저 불러와진다. 

    val constructorExample = ConstructorExample()
    
    init - Tom
    constructor3
    constructor2
    constructor1

     

Designed by Tistory.