코틀린이 나오고 안드로이드의 공식 언어로 채택된 지도 꽤 시간이 흘렀으나 이제야 공부하게 된 나 자신을 반성 또 반성.. 늦게나마 공부를 시작하게 되었다.
일단 올해 내로 공공 API를 사용하는 앱을 만들어 서비스하는 것을 목표로 열심히 해 보기로..
------------
이번 시간에는 기본 변수형의 차이에 대한 차이를 학습하였다.
1. val 변수 (value)
fun main() {
val first = "Hello" //변경 불가능한 변수
println(first)
//first = "Hello2" //변경 불가(에러)
}
<코드 실행 결과>
Hello
val 은 Java의 fianl 변수와 대응하며, 값이 한 번 할당되면 이를 변경할 수 없다.
위의 코드에서 fist = "hello2" 부분을 주석해제하면 에러가 발생하게 된다.
2. var 변수 (variable)
fun main() {
var second:String = "TEST";
var third:String? = null
println(second)
second = "WORLD"
println(second)
println(third)
}
<코드 실행 결과>
TEST
WORLD
null
var 은 일반적인 변수로, 값을 여러 번 할당할 수 있다.
자료형 뒤에 ? 가 붙으면 해당 변수에 null을 할당할 수 있다는 것을 의미한다.
사실 꼭 초기값을 할당해주지 않고 var {변수명}:{자료형} 으로 쓸 수 있다.
var number:Int
3. 함수(function)
fun main() {
var third:String? = null
println(third)
third = getString()
println(third)
third = getSum(2, 5)
println(third)
end()
}
fun getString() : String {
return "GET STRING FROM METHOD";
}
fun getSum(i : Int, i2 : Int) : String {
return "get Sum (" + i + " + " + i2 + " = " + (i+i2) + ")"
}
fun end() {
println("end of line")
}
<코드 실행 결과>
null
GET STRING FROM METHOD
get Sum (2 + 5 = 7)
end of line
함수 선언 시 fun 이라는 키워드를 사용한다.
반환값이 있는 경우 (getString(), getSum()) 변수 선언 시와 마찬가지로 함수명 뒤에 자료형을 적어주고, 반환값이 없는 경우에는 이를 생략할 수 있다.
JAVA와의 차이라면 자료형이 앞에 위치하냐 뒤에 위치하냐의 차이가 아닌가 싶다.
'개발 > Kotlin' 카테고리의 다른 글
코틀린 공부 - 함수(1) (0) | 2021.08.02 |
---|---|
코틀린 기초 5 - object (0) | 2020.06.25 |
코틀린 기초 - 4(고차함수, 람다) (0) | 2020.06.24 |
코틀린 기초 - 3 (if~else, when) (0) | 2020.06.23 |
코틀린 기초 - 2 (배열, 반복문) (0) | 2020.06.16 |