Archives
Recent Posts
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[12일차 Kotlin] 함수 본문

Computer/Kotlin

[12일차 Kotlin] 함수

Wise-99 2023. 5. 12. 12:13

 

 

출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT

 

 

 

📖 함수란?

  • 코드를 미리 작성해 놓고 필요할 때 불러 다 쓰는 개념
  • Java에서는 클래스에 메서드를 만들어 사용하지만 Kotlin은 C 언어처럼 함수라는 개념을 제공하고 있다.
  • Java 코드로 변환되면 파일_이름 클래스 내부의 static 메서드로 정의된다.

📖 코틀린 함수 기본 문법

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

 

📖 예제 코드

fun main() {
    // 함수 호출
    test1()
}

// 함수 밖에 선언된 변수는 파일_이름 클래스의 static 변수로 정의된다.
var a1:Int = 100

fun test1() {
    println("test1 호출")
    // 함수 밖에서 선언된 변수 사용
    println("a1 : $a1")
    println("--------------------------")
}

 


 

📖 함수의 매개변수

  • 매개 변수는 “변수명:자료형” 형태로 정의한다.
  • 함수 호출 시 전달하는 값에 매개변수를 지정하여 전달할 수 있다.
  • 타입을 생략할 수 있다.

 

📖 예제 코드

fun main(){
    test2(100, 11.11)
    
    // 값을 부족하게 - 오류 발생
    test2(100)
    
    // 값을 더 많게 - 오류 발생
    test2(100,200,300)

    // 함수를 호출할 때 넘겨주는 값을 어떤 매개변수에 담을지 정할 수 있다.
    test2(a2=22.22, a1=200)
    
    // 기본 값을 가지고 있는 함수 호출
    test3(100, 200);
    test3(100)
    test3()
    test3(a2=200)
}

fun test2(a1:Int, a2:Double){
    println("test2 호출")
    println("a1 : $a1")
    println("a2 : $a2")
}

// 기본값을 가지고 있는 매개변수
fun test3(a1:Int = 1, a2:Int = 2){
    println("test3 호출")
    println("a1 : $a1")
    println("a2 : $a2")
}

 


 

📖 반환 타입

  • 함수에서 반환할 값이 있다면 return 문을 통해 반환한다.
  • 매개변수 뒤에 반환할 값의 타입을 작성해준다.
  • 반환 값이 없는 함수의 경우 반환 타입에 Unit를 작성한다.
  • Unit은 생략해도 된다.

 

📖 예제 코드

fun main(){
	// 반환 값이 있는 함수 호출
	var r1 = test4(100,200)
    println("r1 : $r1") // r1 : 300
    
    // 반환 값이 없는 함수 호출
    test5()
    test6()
}

fun test4(a1:Int, a2:Int) :Int {
    return a1 + a2
}

fun test5() : Unit {
    println("test5 함수 호출")
}

fun test6() {
    println("test6 함수 호출")
}

 


 

📖 함수의 오버로딩(Overloading)

  • Overloading : 매개변수의 형태(개수, 타입)을 다르게하여 같은 이름의 함수를 다수 만들 수 있는 개념
  • 매개 변수의 형태를 다르게 하여 같은 이름으로 여러 함수를 정의하는 개념

 

📖 예제 코드

fun main(){
    test7()
    test7(100)
    test7(11.11)
    test7(100,200)
}


fun test7(){
    println("test7 호출 - 매개변수 없음")
}
fun test7(a1:Int){
    println("test7 호출 - a1 : $a1")
}
fun test7(a1:Double){
    println("test7 호출 - a1 : $a1")
}
fun test7(a1:Int, a2:Int){
    println("test7 호출 - a1 : $a1, a2 : $a2")
}

 


 

📖 지역 함수

  • 함수 내에 정의한 함수
  • 지역함수는 지역함수를 가지고 있는 함수 내부에서만 사용이 가능하다.

 

📖 예제 코드

fun main(){
	test8() // "test8 호출", "test9 호출"

    test9() <<< 오류 발생
}

fun test8(){
    println("test8 호출")

    fun test9(){
        println("test9 호출")
    }
    // 지역함수 호출
    test9()
}

 

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

[12일차 Kotlin] 반복문(Loop)  (0) 2023.05.12
[12일차 Kotlin] When  (0) 2023.05.12
[12일차 Kotlin] 제어문  (0) 2023.05.12
[12일차 Kotlin] 변수와 자료형  (0) 2023.05.11
[12일차 Kotlin] 기본 문법  (2) 2023.05.11