함수란 ?
input값을 넣어주면 ouput이 나오는 것

예시)
y = x + 2
x에 1을 넣으면 y는 3이 된다.
x에 0.5를 넣으면 y는 2.5가 된다.


함수 선언방법

fun 함수명 (인자명: 타입, 인자명: 타입 ….): 반환형 
{ 
    함수 내용… 

    return 반환값 
}

(사용 예시)

fun plus(_first: Int, _second: Int): Int 
{ 
    var result: Int = _first + _second 
    result *= 2 

    return result 
} 

fun main(array: Array<String>) 
{ 
    val printNumber = plus(7, 11) 
    println(printNumber) 

    // 인자명을 명시하여 값을 넣을 경우 순서를 지키지 않아도 된다. 
    val number2 = plus(_second = 4, _first = 3) 
    println(number2) 
} 

디폴트(기본) 값을 갖는 인자

// _second 인자에 디폴트 값으로 5를 지정 
fun plusFive(_first: Int, _second: Int = 5): Int 
{ 
    val result: Int = _first + _second 
    
    return result 
} 

fun main(array: Array<String>) 
{ 
    // _second 두번째 인자의 값을 넣어주지 않아도 에러가 발생하지 않는다. 
    var result = plusFive(20) 
    println(result) 

    // 디폴트 값을 50으로 바꿔서 사용하도록 2번자에 값을 넣어줌 
    var result2 = plusFive(20, 50) 
    println(result2) 
} 

반환값이 없는 함수

// 반환값이 없는 함수는 반환 type으로 Unit을 적어준다 (Unit 은 생략 하여도 된다.) 
fun PrintPlus(_first: Int, _second: Int): Unit 
{ 
    val result: Int = _first + _second 
    println(result) 
} 

fun main(array: Array<String>) 
{ 
    // PrintPlus 내부에 println이 있으므로 함수 호출만으로 덧셈과 출력이 모두 실행된다. 
    PrintPlus(25, 66) 
} 

간단한 함수

// 간단한 함수 
fun simplePlus(_first: Int, _second: Int) = _first + _second 

fun main(array: Array<String>) 
{ 
    val simpleResult = simplePlus(24, 33) 
    println(simpleResult) 
} 

가변인자를 갖는 함수

// 가변인자를 갖는 함수 (인자를 vararg 형태로 만들어준다.) 
fun plusMany(vararg numbers: Int) 
{ 
    for(number in numbers) 
    { 
    	println("Numbers $number") 
    } 
} 

fun main(array: Array<String>) 
{ 
    plusMany(1, 2, 3, 4, 5) 
} 

 

'Android > Kotlin' 카테고리의 다른 글

kotlin 06. Operator (연산자)  (0) 2020.08.11
Kotlin 05. Function (내부함수)  (0) 2020.08.11
Kotlin 03. Variable, Type & Null  (0) 2020.08.11
Kotlin 02. Type (자료형)  (0) 2020.08.11
Kotlin 01. Variable (변수)  (0) 2020.08.11

+ Recent posts