Hello, Android!

함수의 매개변수 본문

Kotlin

함수의 매개변수

lwndnjs93 2020. 2. 23. 17:01

코틀린에서 함수의 매개변수는 디폴트 값을 설정할수 있다

예를들어 매일매일 쓴 돈을 기록하는 가계부 함수가 있다

그런데 돈을 하루도 안쓴 날이 있다면 함수 호출시 두번째 인자에 0을 넣어주면 된다

하지만 코틀린에서는 함수의 특정 매개변수에 디폴트값을 설정할수 있다

함수 선언시 매개변수에 = 를 이용하여 디폴트값을 정해주면 된다

위와같이 사용하게 되면 두번째 호출시에는 두번째 인자를 생략했으니 

money함수의 매개변수 money에 디폴트로 지정한 0이 들어가게 된다

만약 위와같이 money함수의 모든 매개변수에 디폴트값을 정해주면

호출시에 인자를 아예 안넣어도 디폴트값으로 함수를 실행하게 된다

 

또한 함수 호출시 매개변수의 이름으로 명시적으로 호출할수도 있다

매개변수이름을 명시하지 않으면 함수의 매개변수 위치를 맞춰야하는데

명시하는 경우 위와같이 순서를 바꿔서 호출할수도 있다

 

또한 코틀린에서 함수의 매개변수에 가변인자를 사용할수도 있다

vararg를 이용하면 위와 같이 가변인자를 사용할수 있다

한가지 타입으로만 사용이 가능하며 하나의 변수에 모든 값이 들어오기 때문에

배열로 사용하거나 사진과 같이 반복문으로 값을 하나씩 꺼내서 사용이 가능하다

 

그리고 일반 매개변수와 함께 사용하는것도 가능하다

다만 이렇게 일반 매개변수와 가변 매개변수를 함께 사용할 경우

항상 가변 매개변수를 가장 마지막에 선언해야 한다

왜냐하면 가변 매개변수 뒤에 일반 매개변수를 선언하면

컴파일러가 가변 매개변수의 시작과 끝을 알수없다

그러니 가변 매개변수를 사용하는 경우 항상 맨 마지막에 선언해야 한다 

'Kotlin' 카테고리의 다른 글

람다식  (0) 2020.02.24
함수형 프로그래밍  (0) 2020.02.24
코틀린의 연산자  (0) 2020.02.23
코틀린의 Any  (0) 2020.02.22
스마트 캐스트, 자료형 검사  (0) 2020.02.22