kotlin 함수 만들기, Any 사용하기

728x90

프로그래밍 언어의 꽃인 함수를 만드는 방법을 알아보자

변수의 명칭 타입을 항상 variable의 약자인 var로 지정했듯이 function도 fun으로 축약하여 표시한다.

 

예시로 더하기 메서드, 함수를 만들어본다면 아래와 같이 만들 수 있다.

fun add(a:Int, b:Int, c:Int):Int{
    return a+b+c
}

fun main(){
    var a = add(1, 2,3)
    println(a)
}

 

단순하게 abc의 int 값을 더해서 출력하는 메서드. 이런 간단한 메서드 같은 경우 아래와 같이 한줄로 표현할 수 있고 뒤에 붙은 :Int의 반환형을 생략할 수 있다. (타입추론 = 컴파일러에게 반환값을 유추하게 하여 자동으로 반환값을 할당하게 한다)

fun add(a:Int, b:Int, c:Int) = a+b+c

fun main(){
    var a = add(1, 2,3)
    println(a)
}

 

형변환을 할 때 타입 변수가 정확하지 않다면 어떻게 지정해주어야 할까?

이 때 모든 타입을 수용할 수 있는 Any를 사용한다.

Any란 어떤 자료형이든 상관없이 호환되는 최상위 자료형이므로 모든 타입을 수용할 수 있다.

*자바의 Object 개념

fun obj(a:Any):String = a.toString()

fun main(){
    println(obj("Hello!"))
}

 

다만 Any를 쓸 경우 컴파일러가 자동으로 형변환을 해줄 수 없기 때문에 개발자가 꼭 명시적으로 형변환을 해주어야 한다.

728x90