Search
📗

6. 함수

무단 도용 및 복제, 사용 저작권 안내 수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유), 불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!

1. 함수

코드를 미리 작성해 놓고 필요할 때 불러 다 쓰는 개념
Java에서는 클래스에 메서드를 만들어 사용하지만 Kotlin은 C 언어처럼 함수라는 개념을 제공하고 있다.

2. 함수 문법

fun 함수명(매개변수) : 반환값 타입 { 코드들.. }
Kotlin
복사

3. 기본 함수

fun main() { test1() } fun test1(){ println("test1 함수 호출") }
Kotlin
복사

4. 매개 변수

매개 변수는 “변수명:자료형” 형태로 정의한다.
함수 호출 시 전달하는 값에 매개변수를 지정하여 전달할 수 있다.
fun main() { test2(100, 55.55) test2(200, 66.66) test2(a2=77.77, a1=300) } fun test2(a1:Int, a2:Double){ println("test2가 호출되었습니다") println("a1 : $a1") println("a2 : $a2") }
Kotlin
복사

5. 기본 값이 설정된 매개변수

기본 값을 설정할 경우 값을 전달하지 않으면 기본 값이 매개 변수에 설정된다.
fun main() { test3(100, 55.55) test3(100) test3(a2 = 66.66) } fun test3(a1:Int=0, a2:Double=0.0){ println("test3이 호출되었습니다") println("a1 : $a1") println("a2 : $a2") }
Kotlin
복사

6. 반환 타입

함수에서 반환할 값이 있다면 return 문을 통해 반환한다.
fun main() { val a1 = test4(100, 200) val a2 = test4(1000, 2000) println("a1 : $a1") println("a2 : $a2") } fun test4(a1:Int, a2:Int) : Int{ println("test4가 호출되었습니다") return a1 + a2 }
Kotlin
복사

7. 반환 타입이 없는 함수

반환할 값이 없으면 반환 타입을 Unit로 지정한다.
Unit는 생략이 가능하다.
fun test5(a1:Int, a2:Int) : Unit{ println("test5가 호출되었습니다") } fun test6(a1:Int, a2:Int){ println("test6가 호출되었습니다") }
Kotlin
복사

8. 함수의 오버로딩

매개 변수의 형태를 다르게 하여 같은 이름으로 여러 함수를 정의하는 개념
fun test7(){ println("test7이 호출되었습니다 - 매개변수 없음") } fun test7(a1:Int){ println("test7이 호출되었습니다 - 정수형 매개변수 : $a1") } fun test7(a1:Double){ println("test7이 호출되었습니다 - 실수형 매개변수 : $a1") } fun test7(a1:Int, a2:Int){ println("test7이 호출되었습니다 - 매개변수 두 개 : $a1, $a2") }
Kotlin
복사

9. 지역 함수

함수 내에 정의한 함수
함수를 정의한 함수 안에서만 호출이 가능하다.
fun test8(){ println("test8 함수 호출") fun test9(){ println("test9 함수 호출") } test9() }
Kotlin
복사

10. 학습 정리

정리
Kotlin은 함수로만 프로그램 작성이 가능하다.
fun 함수명(매개변수) : 반환값 타입 { 코드들.. }
Kotlin
복사