반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- zwj
- Lazy
- 코틀린
- Android
- 에러
- flutter
- Widget Tree
- 싱글톤
- 프리즈드
- 프로그래머스
- 초기화
- 완전탐색
- 자바
- IOS
- element tree
- 앱아이콘 변경
- 거리알고리즘
- Render object tree
- dfs
- dart
- 재귀
- 플러터 동작
- 플러터
- linebreak
- 자료구조
- Java
- Singleton
- 비동기 처리
- 알고리즘
- Kotlin
Archives
- Today
- Total
모바일 개발하는 자바리안의 메모장
Kotlin - 변수 초기화(Initialization) 본문
반응형
딱 처음 Kotlin을 접하고 볼 수 있었던 자바와는 살짝 다른 변수 선언과 초기화,,
차이점 2가지는 다음과 같다 :
첫번째, 변수의 타입을 변수명 뒤에 명시해준다.
Java)
String str = "text";
Kotlin)
var str : String = "text"
Kotlin의 경우 변수명 : 데이터타입 형태로 변수를 선언한다.
타입이 굳이 명시하지 않아도 똑똑한 코틀린 컴파일러가 알아서 해결해준다.
보다 쉬운 이해를 위해 아래 코드를 보자 :
fun main() {
val str = "I am a string"
checkDataType(str)
}
fun checkDataType(input : Any) {
when(input) {
is String -> print("Type is String")
is Int -> print("Type is Int")
else -> print("Sth else")
}
}
is 키워드는 뒤에 명시한 객체와 타겟 변수의 타입이 일치하는지 확인해준다.
str 변수에 따로 타입을 명시해주지 않았음에도 불구하고, 어떤 타입인지 잘 찾아주는 스마트함을 엿볼 수 있다.
두번째는 val, var 키워드를 변수명 앞에 붙여 불변(immutable),가변(mutable)을 정의해주는 부분이다.
val = value, var = variable의 약어로, val 로 선언된 변수의 경우 최초 초기화 이후에는 값이 변경이 불가(Java 에서 final과 같은 역할)하며, var의 경우는 그 반대다.
var int1 : Int = 0
int1 = 1 // Good
val int2 : Int = 0
int2 = 1 // Error
val로 선언된 int2의 경우 재정의가 불가하기에, 새로운 값을 할당하면 에러가 발생하며 위와 같은 메시지를 볼 수 있을것이다.
반응형
'Android > Android.Kotlin' 카테고리의 다른 글
Kotlin - object & companion object (0) | 2023.04.14 |
---|---|
Kotlin - lazy (0) | 2021.12.22 |
Kotlin - Null Safety (?, !!) (0) | 2021.12.14 |
Comments