코딩 (독학)/★ Kotlin

[코틀린 문법] 코틀린에서의 함수 (Function in Kotlin)

짱득이 2022. 3. 21. 14:57
300x250
반응형

😃 작업환경 😃

 

[코틀린 문법] 작업 환경 세팅

🐱‍🏍 Android Studio Version 🐱‍🏍 Project 설정 1. Projects - New Project - No Activity - Name / Minimum SDK 설정, Language는 Kotlin으로 설정 후 Finish 2. File - New - Scratch File - Kotlin (프..

timradder.tistory.com


🐱‍🏍 사용 방법

* 코틀린 함수 문법

fun 함수명 (매개변수) : 반환 자료형 {
	// 실행할 코드 1
    // 실행할 코드 2
    .
    .
 }
// 위 문법을 적용한 함수, a+b를 출력하는 함수
fun plus(a : Int, b : Int) : Int { // 함수의 이름은 plus, 매개변수로 Int형 변수 a와 b
				// 반환 자료형 역시 Int이다. (반환형은 자료형추론에 의해 생략가능)
	println(a+b) // 실질적으로 취하는 행위
} // 함수 닫음

plus(3, 5) // 함수 호출하여 매개변수로 3과 5를 전달, 출력결과는 8

다만, 위와 같은 함수에서는 반환값이 사실상 필요가 없다. plus 함수 내에서 바로 println을 통해 값을 출력 해 주므로

반환값이 필요가 없는 경우, 함수의 선언부에 있는 반환 자료형 Int는 Unit으로 대체가 가능하며, 또는 생략이 가능하다.

Unit형은 자바의 void에 대응하는 형으로, 반환값이 필요없거나 생략 가능할 때 사용한다. 예제는 아래와 같다.

// Unit 형으로 대체한 plus 함수
fun plus(a : Int, b : Int) : Unit {
	println(a+b)
}

// 반환 자료형 추론에 의해 반환형을 생략한 plus 함수
fun plus(a : Int, b : Int) { // 반환 자료형이 없음 (생략)
	println(a+b)
}

// 두가지 경우 모두 결과는 같다.

 

이번에는 반환 자료형 및 반환 값이 반드시 필요한 경우의 함수 살펴보자.

함수 내에서는 실행 할 코드를 적은 뒤, return을 통해 메인함수에서 값을 println 해 줘야 하는 경우를 의미한다.

fun plusNum(a : Int, b : Int) : Int { // 반환 자료형 Int
	return a+b	// 매개변수를 더하여 return 해 주며, 반환 자료형에 의해 Int로 반환하게 된다.
} // 함수 종료

println(plusNum(300, 500))	// 800
// println을 통해 출력하며, 값은 Int형으로 800이 출력된다.

plusNum 함수의 반환값은 Unit이 아닌 Int이므로 반드시 반환형을 명시 해 주는것이 좋다. (코드의 가독성, 안전성 적인 측면에서..) 반환자료형을 생략할 수 있는 경우는 반환 자료형이 Unit이거나 단일 표현식 함수일 때 이다.

단일 표현식 함수는 실행할 코드가 표현식 하나로 이루어진 함수를 말하는데, 아래 예제와 같다.

fun plusNum(a : Int, b : Int) = a+b // 단일 표현식 함수, 반환 자료형 생략 가능. Int로 반환

println(plusNum(300, 500)) // Int형으로 800 출력
728x90
반응형