04. Function
-------------------------------------------------------------------------
<함수>
- 어떤 input을 넣어주면 어떤 output이 나오는 것
<함수 선언하는 방법>
fun 함수명 (변수명 : 타입, 변수명 : 타입....) : 반환형 {
함수 내용
return 반환 값
}
-------------------------------------------------------------------------
이렇게 함수를 선언하고 main 함수에서 출력을 해보았다.
그랬더니 15라는 숫자가 나왔다.
함수가 돌아가는 과정을 자세히 알기 위해서 println을 중간에 넣었다.
그랬더니 다음과 같이 화면에 출력되는 것을 확인할 수 있다.
이렇게 명시적으로 first와 second를 적어줄 수 도 있다.
만약에 적어주지 않는다면 암묵적으로 처음 나온것을 first로 생각한다는 것이다.
-------------------------------------------------------------------------
<디폴트 값을 갖는 함수 만들기>
이 때 second의 디폴트 값은 5로 지정해주었다.
여기서 반환값을 적어주지 않아서 에러가 발생하는 것을 확인할 수 있다.
그래서 이렇게 반환값을 적어준다.
이 때, result4에서는 second 인수에 디폴트로 20을 적어주었다.
그리고 result5에서는 첫번째 인자만 10으로 주었다.
그럼 result4의 결과로 30이 나오는 것을 확인할 수 있다.
한편, result5의 값은 15로 나온다.
-------------------------------------------------------------------------
<반환값을 갖지 않는 함수>
반환값이 없는 함수이기 때문에 여기서는 return을 쓰지 않는다.
대신에 바로 println을 사용해서 출력을 해준다.
Unit은 이 함수가 아무것도 return 하지 않겠다는 것을 의미한다.
Unit은 생략이 가능하다는 특징이 있다.
에러가 나지 않는다는 것을 볼 수 있다.
main 함수에서 사용할 때는 println을 사용하는 것이 아니라
printPlus를 사용한다.
결과는 다음과 같이 나온다.
-------------------------------------------------------------------------
<간단하게 함수를 선언하는 방법>
반환 타입이나 대괄호{}를 사용하지 않아도 다음과 같이 선언할 수 있다.
다음과 같이 함수를 이용하고 출력을 하면
50 + 50의 결과인 100이 출력이 된다.
-------------------------------------------------------------------------
<가변 인자를 갖는 함수를 선언하는 방법>
이 때 vararg를 쓴다.
그러면 first, second라고 굳이 적어주지 않아도 가변적으로 이용이 가능하다.
for문을 이용해서 전체를 출력하게 해준다.
이렇게 1, 2, 3 / 100 을 출력하게 해준다.
여기서 반환형을 쓰지 않았기 때문에 println 없이 그냥 함수명을 쓰면 된다.
출력하면 다음과 같이 나온다.
-------------------------------------------------------------------------
<내부 함수>
함수 안에 함수를 사용하는 것을 의미한다.
다른 함수와 사용방법이 같다.
출력하면 다음과 같이 결과가 나온다.
'security > 코틀린' 카테고리의 다른 글
Kotlin - 06. 배열 (0) | 2020.07.24 |
---|---|
Kotlin - 05. 제어 흐름 (0) | 2020.07.24 |
Kotlin - 03. Practice (0) | 2020.07.23 |
Kotlin - 02. 타입(자료형) (0) | 2020.07.23 |
Kotlin - 01. 변수 (0) | 2020.07.23 |
댓글