본문 바로가기

LANGUAGES, METHODLOGY/Kotlin

[Kotlin] Default Argument와 Named Argument 활용하기

개발을 하게 되면서 일상적으로 마주하는 상황 중에 변수들을 넘겨주기 위한 클래스나 메소드를 설계하고, 이를 활용해야 할 때가 있다.

 

코틀린은 이런 상황에서 개발자가 그저 설정이 필요 없는 변수들을 넘겨줄 것 없이 손쉽게 개발 할 수 있도록

 

Default Argument를 제공하고 있다.

 

1. Default Argument

 

- 정의한 Function 혹은 class의 매개변수를 아래와 같이 설정한다.

// 아이스크림을 만드는 function이 있다면?
// 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

 

- Default Argument와 더불어서 유용하게 쓰기 좋은 요소다. 

- function 및 일반 class에도 동일하게 사용 가능하기 때문에 default data class 값을 설정해주느라  번거로웠을 사람들에겐 매우 편한 기능이 아닐 수 없다.

fun makeIcecream(amount: Int = 1, option : String = "바닐라", distance : Long = 0): IceCream {
	return IceCream(amount, option, distance)
}

// Arguement의 갯수가 많은 경우, 그리고 원하는 Argument만 바꾸고자 할 때 이렇게 활용한다.
makeIceCream(distance = 1000)
makeIceCream(option = "뉴욕치즈케이크")

 

< 참조 >

 

Kotlin Default and Named Arguments (With Examples)

Kotlin Default Argument In Kotlin, you can provide default values to parameters in function definition. If the function is called with arguments passed, those arguments are used as parameters. However, if the function is called without passing argument(s),

www.programiz.com