일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Kotlin
- 오버로딩
- 노트북 추천
- 싱글 스레드
- adapter
- golang
- 함수
- Array
- var
- Overloading
- ListView
- 자바스크립트
- 자바
- Python
- Android
- 노트북
- Java
- 안드로이드
- javascript
- HP
- 배열
- 패널 교체
- 파이썬
- node.js
- 리스트 뷰
- 코틀린
- as?
- go
- js
- 연산자
- Today
- Total
Bbaktaeho
코틀린(Kotlin) 15. 함수(fun, named argument, vararg) 본문
코틀린(Kotlin) 15. 함수(fun, named argument, vararg)
Bbaktaeho 2019. 2. 22. 17:09함수)
코틀린에서 함수를 선언하는 법은 fun 키워드를 사용해서 선언하면 됩니다.
fun 함수명(인수1 : 타입, 인수2 : 타입, 인수3 : 타입, ......) : 리턴 타입
코틀린에서 함수는 코틀린 파일에 바로 정의할 수 있으며 클래스의 멤버나 다른 함수 내부에도 정의할 수 있다. 자바는 클래스 내부에서만 정의하게 되어있다.
간단한 함수 선언 예제를 보자.
function은 함수의 이름이며 a, b는 함수의 매개변수다. 이 함수의 반환형은 Int 타입으로 선언되었다.
좀 더 간단하게 변경하면
코틀린 함수도 리턴 타입을 추론할 수 있기 때문에 리턴 타입을 생략할 수 있다.
또 하나의 값을 산출해서 반환하는 것을 표현식이라고 부르는데 코틀린 함수에서 몸체{} 부분이 하나의 표현식일 때 중괄호를 생략하고 대입문(=)을 통해 반환받을 수 있다.
코틀린에서 if 문은 명령문이 아닌 표현식으로 간주한다.
지명 인자)
코틀린에서는 지명 인자(named argument)를 지원한다. 지명 인자는 함수를 호출할 때 각 매개변수의 값만 전달하는 것이 아니고 매개변수 이름과 값을 동시에 전달할 수 있다. 또한 함수를 선언할 때 매개변수를 초기화할 수 있다.
지명 인자를 사용하는 예시를 보자.
실행 결과는
지명 인자를 사용하면 정의된 순서와 무관하게 값이 전달된다.
지명 인자)
함수를 정의할 때 매개변수를 vararg 키워드를 사용하면 호출 시 인자의 개수를 가변적으로 전달할 수 있다. 가변 인자를 사용할 땐 배열과 같이 사용하면 된다.
fun 함수명(vararg 인수 : 타입) : 리턴 타입
가변 인자를 활용한 예제를 보자.
실행 결과는
가변 인자를 활용한 다른 예제를 보자.
실행 결과는
가변 인자로 선언된 매개변수에는 배열도 인자로 같이 전달할 수 있다. 이때는 배열명 앞에 *연산자를 붙여주면 된다. 여기서 *연산자는 확산 연산자라고 한다.
'프로그래밍 (Programming) > 코틀린 (Kotlin)' 카테고리의 다른 글
코틀린(Kotlin) 17. 게터와 세터(get, set) (0) | 2019.02.22 |
---|---|
코틀린(Kotlin) 16. 클래스와 객체(생성자) (0) | 2019.02.22 |
코틀린(Kotlin) 14. 스마트 캐스트(smart cast) (0) | 2019.02.22 |
코틀린(Kotlin) 13. NULL 처리, NULL 연산자 (0) | 2019.02.02 |
코틀린(Kotlin) 12. break와 continue (0) | 2019.01.31 |