명시적 형변환
: 자료형을 개발자가 직접 지정한다
var a: Int = 54321
var b: Long = a.toLong() // int -> long 형변환
암시적 형변환
: 자료형을 지정하지 않아도 자동으로 형변환 된다
코틀린은 암시적 형변환을 지원하지 않는다
배열
기본적인 배열 선언
var intArr = arrayOf(1, 2, 3, 4, 5)
특정한 크기의 공간을 가지는 비어있는 배열 만들기
var nullArr = arrayOfNulls<Int>(5)
꺾쇄 <>안에 배열에 할당할 자료형을 지정한다
<Int> : Int형 자료형
괄호 ()안에 배열 크기 지정
(5) : 크기 5
intArr[2] = 8
인덱스 위치는 0부터 시작 !
intArr[2]는 3의 값을 가졌다가, 8을 할당받으면서 8의 값을 가지게 된다
println(intArr[2])
println(intArr[4])
<출력>
8
5
타입추론
: 특정한 자료형을 지정하는 것이 아니면 타입추론으로 코드량을 줄이자
var a = 1234 // int형으로 추론
var b = 1234L // long 추론
var c = 12.45 // double 추론
var d = 12.45 // float 추론
16진수와 2진수는 int형으로 추론한다
var e = 0xABCD
var f = 0b010101
Boolean, Char 타입 추론
var g = true // Boolean 추론
var h = 'c' // Char 추론
함수
fun add(a: Int, b: Int, c: Int): Int {
return a + b + c
}
add: Int에서 마지막 Int는 반환형이며, 반환값이 없다면 생략할 수 있다
함수 안에서의 return은 뒤에 오는 값을 반환하는 키워드
함수의 중간이더라도 return을 만나면 값을 반환하고 함수를 종료해야 한다
단일 표현식 함수
fun add2(a: Int, b: Int, c: Int) = a + b + c
반환형의 타입추론이 가능하므로, 반환형을 생략할 수 있다
Int 형으로 타입추론
'개발일지' 카테고리의 다른 글
[Kotlin] Compose 입문 #2 - Image, Card, Scaffold, TextField, 구조분해, 코루틴 스코프 (0) | 2023.06.21 |
---|---|
[Kotlin] Compose 입문 #1 - Column, Row, 컴포저블, 리스트 (0) | 2023.06.20 |
[Android] Android Architecture Pattern (0) | 2023.04.19 |
[Android] Fragment 생명주기(Life-Cycle) (0) | 2023.04.17 |
[Android] Activity 생명주기(Life-Cycle) (0) | 2023.04.15 |