일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- navigation
- EventEmitter
- recyclerview
- 자바
- Java 지네릭스(Generics)에 대하여 알아보겠습니다.
- node.js
- 안드로이드
- SlidingRootNav
- databinding
- 백준
- 알고리즘
- android list
- 네이게이션 드로우
- android
- 라이브러리
- HTTP
- Today
- Total
삽질개발
[Mindev 개발공부]Kotlin 코틀린 변수 선언 및 초기화 본문
안드로이드 개발 트렌드중 하나인 Kotlin에 대해서 알아보겠습니다.
먼저 기본적인 변수선언과 초기화에 대해서 알아보겠습니다.
1. 변수 선언
자바와 간단한 비교를 해보겠습니다.
Int num=0; <- JAVA
val(혹은var) num:Int=0 <- Kotlin
변수 타입이 val 과 var 두 가지로 제공하는 이유는 Assign-once와 Mutable로 구분되기 때문입니다.
*Assign-once(val) - 한번 초기화하면 더는 변경할 수 없다.
*Mutable(var) - 언제든지 변경할수있다.
val data1: Int = 10
var data2 = 20
fun main(args: Array<String>) {
data1=40 << 에러
data2=40
}
2. 변수 초기화
기존 자바에서는 전역변수만 선언할 경우 에러가 발생하지 않았습니다.
하지만 코틀린에서는 선언과동시에 초기화를 해주어야 합니다.
간단한 예를 들어보겠습니다.
val data1: String <<에러
var data2: Int << 에러
class Abc{
val data3:String <<에러
var data4:String <<에러
fun test(){
val data5:Int <<정상
val data6:String <<정상
print(data5) <<에러
}
}
위에 그림을 보자면 data1~4까지 변수선언만 하였기때문에 에러가 나는걸 확인할수 있습니다.
하지만 data5~6 은 정상이지만 print로 확인결과 에러가 나타납니다.
결론적으로 전역변수와 상위레벨 클래스의 멤버변수는 선언과 동시에 초기화를 해야하며,
내부의 지역변수는 선언과 동시에 초기화하지 않더라도 이후에 따로 초기화해야지만 사용할수 있다.
'Kotlin' 카테고리의 다른 글
[Mindev 개발공부]Kotlin 코틀린 Any 타입 (0) | 2018.05.16 |
---|---|
[Mindev 개발공부]Kotlin 코틀린 함수 메소드 사용법 (0) | 2018.05.15 |