Android App/Kotlin

함수(fun, 파라미터)

AppJinny 2022. 10. 28. 01:47

*함수(fun, 파라미터)

-코드를 사용할 수 있는 최소 단위, 모든 코드는 함수 안에서 작성해야 하고 코드의 실행은 함수를 호출하는 것에서 시작됨

--fun 키워드 : 함수의 정의

--함수 파라미터 : 변수를 정의하듯이 (이름 : 타입)의 형태로 정의

 

 

*함수의 정의

-fun 키워드로 정의

-파라미터 : 값을 입력받아 사용할 수 있는 잆력된 값을 기술한 것, 

fun 함수명(파라미터 이름 : 타입) : 반환타입 {

    return 호출한 곳에 반환하는 값

}

-파라미터와 반환값이 없을 경우에 둘 다 작성하지 않음(ex. Log.d() 함수가 대표적)

-(파라미터 이름 : 타입) 은 (변수명 : 타입)과 동일

 

*함수의 사용

-함수명뒤에 괄호를 붙여 명령어 실행

함수명(값)

-반드시 괄호를 붙여서 실행해야하며 괄호를 붙이지 않으면 값처럼 인식함

 

*반환값과 입력값이 있는 함수 정의와 호출

-Int 타입의 x라는 입력 파라미터를 갖고 반환값으로 입력값 제곱식을 받는 함수 sqaure()정의

-sqaure()함수가 호출되고 입력값을 주면 x파라미터에 저장되고 함수 안에 있는 return(반환값)코드 실행

-실행된 코드의 값은 호출한 측으로 반환하고 실행 종료

 

*반환값이 없는 함수의 정의와 호출

-반환값 없이 입력값을 받아 Log로 출력하는 함수 printSum()정의

 

*입력값 없이 반환값만 있는 함수의 정의와 호출

-호출한 측으로 반환값을 반환하고 실행 종료하는 함수 getPi()정의

 

 

*함수 파라미터

-변수를 정의하듯 (이름:타입)의 형태로 정의

-여러개의 파라미터가 정의될 경우 콤마(,)로 구분함

-코틀린에서 함수파라미터를 통해 입력되는 모든 값은 이뮤터블(변하지 않는 값), 모두 읽기전용 키워드 val이 생략된 형태라고 볼 수 있음

-함수명 뒤에 괄호() 안 코드들을 파라미터라고 함

fun 함수명 ( (val생략) 이름1 : 타입, 이름2 : 타입 ) {

    실행코드

}

 

*파라미터의 기본값 정의와 호출

-파라미터의 기본값을 가지는(두 번째, 세 번째 파라미터) 함수 정의

-newFunction() 함수를 호출할 때 기본값이 없는(첫 번째 파라미터) 파라미터값을 입력하면 나머지 기본값을 가지고 있는 파라미터는 자동으로 입력됨

 

*파라미터 이름으로 값 입력

-순서와 상관없이 정의된 파라미터의 이름을 이용해서 직접 값을 입력할 수 있음

-위에서 정의한 newFunction() 함수 호출하여 파라미터의 이름을 이용해 값 입력

 

 

Q. 1개의 Int타입 입력 파라미터를 가지고 0부터 입력된 값까지 순서대로 모두 더한 후에 반환하는 함수작성하기

fun sum ( x : Int ) {

    var result = 0

    for( num in 0 .. x ) {

               result += num 

    }

    return result

}

 


이 포스팅에 작성한 내용은 고돈호, ⌜이것이 안드로이드다⌟, 한빛미디어(주), 2022 에서 발췌하였습니다.