본문 바로가기
스터디/Kotlin

[Kotlin] Default Argument와 Named Argument

by zoodi 2024. 5. 4.
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

    댓글