본문 바로가기

개발일지

[Kotlin] 형변환과 배열, 타입추론과 함수

명시적 형변환

: 자료형을 개발자가 직접 지정한다

 

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 형으로 타입추론