연습장/이론

Kotlin_ 4-1. 함수

아이른 2024. 1. 25. 16:57

fun main() {
    aFunction()
}
    fun aFunction(){
     println("a 체크")
     println("a 체크")
    }

 

<print>

a 체크

a 체크


function(함수)

: 특정한 동작을 하거나 원하는 결과값을 연산하는데 사용.

: 코드의 재사용성, 가독성을 높임.

- fun 함수명(변수:타입지정): 반환형 타입지정 ()

- 함수명()

: 함수 호출. 호출 제한이 없기 때문에 해당 함수가 필요해지면 함수 사용.

- 함수가 없다면? 

fun main() {
   println("a 체크")
   println("a 체크")
   println("a 체크")
   //... 10번
}
fun main(){
  aFunction10Print()
}

 : 반복적인 코드를 하나로 압축. 

* 함수명 사용 시! 어떤 목적, 용도인지 명확하게 파악하고 이름 짓기


fun main() {
    aFunction2Print()
}
    fun aFunction2Print(a: String, b: Int){
     println("a 체크")
     println("a 체크")

    }

<print>

No value passed for parameter 'a', No value passed for parameter 'b' 

: a,b 변수에 파라미터를 지정하지 않았다, 는 에러 발생.

//변수 타입 지정 가능.


fun main() {
    aFunction2Print(a="안녕",b=10)

}
fun main() {
    aFunction2Print(10, "안녕")

}
<print>
"a 체크"
"a 체크"
안녕
10
<print>
Type mismatch: inferred type is String but Int was expected
: 해당변수 값을 지정하지 않고 값의 위치를 바꿀 시 에러 발생.

 

: a,b 타입에 맞는 값는 매칭해야 함.


fun main() {
    println(aFunction2Print(a = "안녕", b = 10))
}
    fun aFunction2Print(a: String, b: Int) : String{
     println("a 체크")
     println("a 체크")
     println(a)
     println(b)
     return "Hi"

    }

<print>

"a 체크"

"a 체크"

안녕

10

Hi


- return 

: 함수 안에서 사용 시 뒤에 오는 값을 반환하는 키워드.

: return이 발생한다면 함수의 중간이더라도 값을 반환하고 함수를 종료하게 됨.

- 단일 표현식 함수

: return은 여러가지 일을 하는 것이 아닌, 해당 값을 반환하는 역할만 하므로 함수를 좀 더 간단하게 기술 가능.

fun main(){
    println(add(5,6,7))
}

fun add(a:Int, b:Int, c:Int) : Int{
    return a+b+c
}
fun main(){
    println(add(5,6,7))
}

fun add(a:Int, b:Int, c:Int) = a+b+c
<print> 
18
<print> 
18

 

- 타입추론

변수나 함수들을 선언할 때나 연산이 이루어질때 자료형을 코드에 명시하지 않아도 코틀린이 자동으로 자료형을 추론해주는 기능. 값에 할당된 형태로 해당 변수가 어떤 자료형을 가지는지 추론 가능.


fun main() {
    val result = aFunction2Print("잘가", 20)
    println(result)
}

    fun aFunction2Print(a: String, b: Int) : String{
     println("a 체크")
     println("a 체크")
     println(a)
     println(b)
     return "Hi"
    }

<print>

"a 체크"

"a 체크"

잘가

20

Hi


- 변수에도  할당 가능.

 

'연습장 > 이론' 카테고리의 다른 글

클래스 2. 주생성자와 보조생성자  (0) 2024.01.26
클래스 1. 클래스의 사용  (1) 2024.01.26
Kotlin_ 1-1. 변수  (0) 2024.01.25
Kotlin_ 6. Null Safety  (0) 2024.01.18
Kotlin_ 5. 클래스와 설계  (0) 2024.01.17