App노자
[Kotlin] 변수와 자료형 본문
1. var(변수), val(상수) 선언 및 할당하기
fun main() {
var number: Int = 2022
// 변수를 선언할 때 : var + 변수명
val String: String = "2022"
// 상수를 선언할 때: val + 상수명
}
Kotlin에서 변수는 val와 var라는 키워드로 선언을 한다
var로 선언을 할 경우 처음에 지정한 변수를 나중에 바꿀 수 있고
val로 선언을 할 경우 초깃값이 할당되면 나중에 바꿀 수 없는 읽기 전용 변수가 된다
추가로 알 수 있는 특성은 Kotlin은 Java와 달리 구문 끝의 세미클론의 생략이 가능하다는 점이다
2. Type inference (타입추론)
fun main() {
var number = 2022
val String = "2022"
}
변수나 상수를 선언할 때 위에 있는 특정 타입을 명시하지 않아도 컴파일러가 할당된 값을 기준으로 타입을 결정해주는 기능인 타입추론을 지원한다
추론할 값을 지정하지 않으면 자료형을 추론할 수 없다
나름 편리한 기능이지만 협업이나 유지보수를 위해 개인적으로 사용은 하지 않고 있다
3. 자료형 검사하기
fun main() {
var num: Int = 1
var isbool: Boolean = true
isbool = num is Int
println(isbool)
if (num is Int) {
println("Int")
} else if (num !is Int) {
println("Int가 아니다")
}
}
자료형을 검사할때는 is 키워드를 사용한다
왼쪽이 오른쪽과 같으면 true 아니면 false를 반환한다
4. as cast operator
fun main() {
var num: Int? = null
// var str: String = num as String
// val str: String? = num as String?
val str: String? = num as? String
}
as를 이용해 지정한 타입으로 형 변환이 가능하지만 as는 형 변환이 가능하지 않으면 예외를 발생 시킨다
예외 발생을 피하기 위해서 as?를 사용하는것이 좋다 as?는 예외 발생시 null을 반환한다
5. 타입 별칭
fun main() {
}
typealias TagetAction = (target: Any, action: Selector) -> Unit
typealias MyInt = Int
기본으로 제공하는 데이터 타입이나 개발자가 임의로 데이터 타입을 지정해 별칭을 부여하여 선언한 후 계속해서 사용할 수 있다
'Android > Kotlin' 카테고리의 다른 글
[Kotlin] 흐름 제어문과 예외 처리문 (0) | 2023.04.08 |
---|---|
[Kotlin] 조건문과 반복문 (0) | 2023.04.02 |
[Kotlin] 고차함수와 람다식 (0) | 2023.02.14 |
[Kotlin] 함수 (0) | 2023.01.27 |
[Kotlin] Null safety (0) | 2023.01.25 |