스터디/Kotlin

[Kotlin] Default Argument와 Named Argument

zoodi 2024. 5. 4. 11:30
728x90

목차

     

     

    1. Default Argument

    Default Argument

    개발하면서 변수들을 넘겨주기위한 클래스나 메소드를 설계하고 이를 사용하는 경우가있습니다.

    코틀린에서는 이런 상황에서 개발자가 설정이 필요 없는 변수들을 넘겨주지 않고 손쉽게 개발 할 수 있도록 Default Argument를 제공하고 있습니다.

     

    정의한 메소드 또는 클래스의 매개변수를 아래와 같이 설정합니다.

    • 예시코드
    // 아이스크림을 만드는 method가 있다면?
    // amount는 만드는 갯수, option은 맛이라고 할 때.
    fun makeIcecream(amount: Int = 1, option : String = "바닐라"): IceCream {
        return IceCream(amount, option)
    }
     
    // 이를 실제로 활용하게 될 때
     
    // 1. 그냥 다짜고짜 아이스크림 주세요 라고 한다면, 설정한 default arguemt에 따라
    // 바닐라 아이스크림 한 개를 넘겨주게 됨.
    makeIcecream()
     
    // 2. 아이스크림 3개를 그냥 달라고 했다면, 이를 상수에 넣어 넘겨줄 수 있음.
    makeIceCream(3)
     
    // 3. 아이스크림 갯수와 맛을 정해 달라고 했다면, 이를 모두 명시해 사용이 가능
    makeIceCream(3, "엄마는외계인")

     

     

     

     

    2. Named Argument

    Named Argument는 Default Argument와 더불어 유용하게 사용하는 요소입니다. 메소드 및 일반 클래스에도 동일하게 사용 가능하기 때문에 Default Data Class 값을 설정해주느라 번거로웠던 과정을 생략합니다.

    Named Argument를 사용하는 방법은 설정하고자하는 매개변수의 이름과 값을 명시하여 작성합니다.

     

    • 예시코드
    fun makeIcecream(amount: Int = 1, option : String = "바닐라", distance : Long = 0): IceCream {
        return IceCream(amount, option, distance)
    }
     
    // Arguement의 갯수가 많은 경우, 그리고 원하는 Argument만 바꾸고자 할 때 이렇게 활용한다.
    makeIceCream(distance = 1000)
    makeIceCream(option = "뉴욕치즈케이크")

     


    참고 문서

    https://mparchive.tistory.com/194

    https://www.programiz.com/kotlin-programming/default-named-arguments

    728x90