코틀린을 입문하는 사람들이 기존 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? {
...
}
'정리가 필요한 카테고리(추후 정리) > Android, iOS' 카테고리의 다른 글
안드로이드 예제 - 코틀린으로 로그인-메뉴 화면 만들기 (0) | 2018.07.22 |
---|---|
Kotlin] lateinit과 lazy (0) | 2018.05.03 |
[Android] Xamarin으로 카메라 플래시 사용하기 (0) | 2017.09.17 |
[Android] 자마린 안드로이드 가이드 따라가기 #2 (0) | 2017.09.02 |
[Android] 자마린 안드로이드 가이드 따라가기 #1 (0) | 2017.08.29 |