728x90
반응형
코틀린의 함수 기본 형태는 다음과 같다.
fun addTwo(a:Int, b:Int):Int{
return (a+b)
}
코틀린 함수는 지켜야할 사항들이 존재한다.
- 파라미터에는 타입을 반드시 명시해야한다.
- 리턴값이 없는 경우 리턴 타입을 명시하지 않아도 된다.
- 파라미터에 직접적으로 접근하여 변경할 수 없다. 위의 경우 a+=1 같은 식은 작성할 수 없다.
한 줄 함수
위의 경우 반환값을 한 줄에 표현하고 있는데 이렇게 간단한 함수의 경우 함수 자체를 한 줄로 나타낼 수 있다.
fun addTwo(a:Int, b:Int):Int = a+b
이렇게 함수의 파라미터와 반환타입을 명시한 후에 "="을 사용하여 반환값을 주면 된다.
함수 오버로딩
같은 역할을 하는 함수라도 파라미터의 타입이나 반환 타입이 다를 수 있다.
예를 들어 무언가를 더하는 함수를 만들고 싶을 때 정수형 파라미터의 개수가 2개, 3개, 혹은 문자열끼리 서로 더하는 함수를 만들기 위해서 각각 이름을 달리하는 것은 혼동을 일으킬 수 있다.
이를 해결하기 위해서 함수 오버로딩을 한다면 같은 함수 이름을 사용하여 파라미터, 반환값의 형태를 바꿀 수 있다.
그럼 다음과 같은 역할을 수행하는 함수를 오버로딩하는 방법을 알아보겠다.
- 정수형 파라미터 두 개를 받아서 더한 값을 출력
- Double형 파라미터 두 개를 받아서 더한 값을 출력
- 문자열 파라미터 두 개를 받아서 둘 사이에 빈 칸을 두고 이어붙인 값을 출력
fun add(a:Int, b:Int):Int=(a+b)
fun add(a:Double, b:Double):Double=(a+b)
fun add(a:String, b:String):String=("$a $b")
그냥 이름만 동일하게 정의하면 끝이다.
함수의 가시성
함수를 정의할 때 fun 앞에 가시성을 정할 수 있다.
ex) public fun add(...)...
- public : 프로젝트의 어느 곳에서든 호출할 수 있다.
- private : 같은 파일 안에서만 호출할 수 있다.
- internal : 같은 모듈 안에서 호출할 수 있다.
728x90
반응형
'컴퓨터 언어 > Kotlin' 카테고리의 다른 글
[Kotlin] 범위 표현의 방법과 in과 when과의 활용 (0) | 2022.11.19 |
---|---|
[Kotlin] 조건문 사용법 및 한 줄 조건문 (0) | 2022.11.18 |
[Kotliln] 배열 사용법과 주의사항 (0) | 2022.11.16 |
[Kotlin] 문자열의 표현과 출력, raw string (0) | 2022.11.15 |
[Kotlin] 변수의 선언, 타입 추론 (0) | 2022.11.14 |
댓글