코틀린의 기초적인 문법에 대해서 아직도 모르는 부분이 많은 것 같아 조금 더 찾아보고 공부해봤다.
기본 매개변수에 대해 공부한 내용을 정리해본다.
1. 기본 매개변수(Default Parameter)
함수를 선언할 때 매개변수에 기본 값을 입력하여 선언할 수 있다. 이럴 경우 함수를 호출할 때 해당 파라미터에 해당하는 인자를 적어주지 않은 경우 함수를 선언할 때 입력한 기본값이 사용되게 된다.
아래와 같은 형태로 기본 매개변수를 이용하여 함수를 선언할 수 있다.
fun 함수명(매개변수1:타입 = 기본값1, 매개변수2:타입 = 기본값2) : 반환값 타입 {
코드들
}
이렇게만 보면 이해가 힘든 부분이 있다. 직접 코드로 작성해서 확인해보면 이해하기 쉽다.
fun main(){
// 기본값을 설정해두었기 때문에 아무것도 인자로 넘겨주지 않아도
// 기본값 1, 2, 3이 출력된다.
testfun() // 1 2 3
// 인자를 모두 넘기면 그 인자를 받아 함수가 동작한다.
testfun(10,20,30) // 10 20 30
}
fun testfun(num1:Int = 1, num2:Int = 2, num3:Int = 3) {
println("$num1 $num2 $num3")
}
이것은 매개 변수의 갯수와 자료형을 다르게하여 같은 이름으로 함수를 여러개 정의하는 오버로딩과는 완전히 다른 것이다. 잘 생각해보면 차이를 이해할 수 있다.
위에 작성한 코드 같이 매개변수가 3개일 경우에 매개 변수를 하나 입력해주면 첫 번째 매개변수에 값이 들어가게 되고, 2개 입력해주면 첫 번째와 두 번째에 값이 들어가게 된다.
그렇지만 내가 매개 변수를 하나만 넘기고 싶은데 첫 번째 매개변수가 아니라 두 번째 매개변수 또는 세 번째 매개변수에 값을 넘기고 싶을 수도 있다. 이럴때는 넘기는 인자 앞에 매개변수의 이름과 등호를 붙여서 어떤 매개변수의 값을 넘기는지 지정해줄 수 있다.
코드로 직접 살펴보자
fun main(){
testfun(100) // 100 2 3
testfun(num2 = 10) // 1 10 3
testfun(num3 = 20) // 1 2 20
testfun(num2 = 10, num3 = 20) // 1 10 20
testfun(num1 = 100, num3 = 20) // 100 2 20
testfun(num1 = 10, 20, 30) // 10 20 30
// testfun(num2 = 30, 20) 불가능하다
}
위와 같이 매개변수의 이름에 등호를 붙여 값을 넘겨주면 어떤 매개변수의 값을 넘기는지 지정해줄 수 있다. 그렇지만 맨 아래 주석처리한 것 처럼 두 번째 이상 매개변수에 이름을 지정해서 값을 넘겨주었다면 나머지도 이름을 직접 지정해서 값을 넘겨줘야한다. 그렇지 않으면 오류가 발생하기 때문에 주의해야한다.
이렇게 기본 매개변수를 설정하고 사용하는 법에 대해 정리해보았다.
2. 오늘 배운 것
- 코틀린 문법에 대해 조금 더 찾아보면서 공부해보았다.
- 함수를 생성할 때 기본 매개변수를 설정하는 법에 대해 공부해보고 실제로 코드를 작성하며 확인해보았다.
'오늘 배운 것' 카테고리의 다른 글
24-04-29 Kotlin 숫자 야구 게임 만들기 (0) | 2024.04.29 |
---|---|
24-04-28 Kotlin 가변길이 인자(vararg) (0) | 2024.04.28 |
24-04-26 Kotlin 인터페이스와 추상 클래스 (0) | 2024.04.26 |
24-04-25 Kotlin 계산기 만들기 (2) (0) | 2024.04.25 |
24-04-24 Kotlin 계산기 만들기 (0) | 2024.04.24 |