정리가 필요한 카테고리(추후 정리)/Android, iOS

코틀린(Kotlin) 함수, 변수 정의

TwinParadox 2018. 4. 15. 22:16
728x90

코틀린을 입문하는 사람들이 기존 Java로 안드로이드 개발을 하던 사람이거나, C#을 이용해 자마린을 쓰는 사람 등 다양한 사람이 있을 것 같다. 앞서 말한 두 언어와 코틀린의 가장 큰 차이점이라면 아무래도 세미콜론(;)을 사용하지 않는다는 것이다.



함수 정의 방법

함수는 fun 키워드로 정의하며 함수 몸체 자체가 식(Expression)일 때는 return을 생략할 수 있음.


fun sum(a: Int, b: Int) Int {

return a + b

}

fun sum(a: Int, b: Int) = a + b



리턴 타입을 지정하는 방식이나, 기존의 인자 선언 방식이 C++, Java 같은 언어와는 방식이 약간 다르지만 형식 지정이 없는 것은 아니다. 경우에 따라서 함수의 리턴 값이 없는 경우에는 Unit(Object)로 리턴하며 이는 생략 가능함.


fun printLorem(): Unit {

print("Lorem Ip..")

}



변수 정의 방법

readonly 타입의 변수는 val로 정의 가능하며 값 할당은 1회에 한함. C++에서 const, Java의 final, C#의 readonly 등과 유사.


val a: Int = 10

val b = 2

val c: Int // 컴파일 에러

c = 1000 // 컴파일 에러


var로 정의하는 변수는 값을 변화시킬 수 있음.


var x = 100

x += 10 // x = 110



주석은 // /* */을 사용하며 이 블럭 단위 주석은 중첩 사용도 가능함.



nullable

값이 null이 될 수 있는 경우 타입에 nullable 마크(?)를 명시해야 하며, 이 변수를 접근할 때 null일 경우를 체크해야 함. 그대로 넘어가면 컴파일 에러.

fun parseInt(s: String): Int? {

...

}

728x90