본문 바로가기

Kotlin

[Kotlin] 02. 형변환과 배열

오늘은 <형변환과 배열>입니다

 

우선, <형변환>이란 하나의 변수에 지정된 자료형을 호환되는 다른 자료형으로 변경하는 기능입니다

논리형을 제외한 숫자형, 문자형 등을 다른 자료형으로 변경할 수 있습니다

 

기본 자료형들은 자료형 간의 형변환을 지원하기 위해 형변환 함수(type casting function)들을 지원하고 있습니다

예시로 toInt(), toLong(), toDouble(), toChar() 등이 있는데요,

형변환 함수는 to 뒤에 변환할 자료형을 붙여주면 됩니다

 

예를 들어 Int 변수가 있는데 이를 Long 변수에 넣으려고 한다면 코틀린에서는 그냥 할당만 해서는 변환되지 않습니다

 

var a:Int = 54321
var b:Long = a // 이 경우 Type mismatch 에러 발생 (자료형이 맞지 않다는 에러)

 

반드시 Int형 변수에 toLong() 함수를 호출하여 Long값으로 변환된 값을 반환받아 Long변수에 할당해줘야 합니다

 

var a:Int = 54321
var b:Long = a.toLong()

 

 

이렇게 직접 형변환을 해주는 것을 전문용어로는 명시적 형변환 (explicit type casting)이라고 합니다

코틀린은 형변환 시 발생할 수 있는 오류를 막기 위해 다른 언어들이 지원하는 '암시적 형변환'은 지원하지 않습니다

'명시적 형변환'변환될 자료형을 개발자가 직접 지정하는 것을 의미하고

'암시적 형변환'변수를 할당할 시 자료형을 지정하지 않아도 자동으로 형변환이 되는 것을 의미합니다

 

 

 

 

다음은 <배열>에 대해 알아보도록 하겠습니다

배열은 내부적으로 Array<T> 클래스로 제공되는 기능입니다

 

배열을 만들기 위해서는 배열로 사용할 변수를 만들어주고 (intArr) 

arrayOf 함수를 통해 배열에 저장할 값들을 나열하면 됩니다

 

var intArr = arrayOf(1,2,3,4,5)

 

 

그리고 특정한 크기의 공간을 가지는 비어있는 배열을 만들고 싶다면

arrayOfNulls 함수에 크기를 지정하면 null로 채워진 배열을 만들 수 있습니다

 

var nullArr = arrayOfNulls<Int>(5)

 

꺽쇠 안에는 (<Int>) 배열에 할당할 자료형을 지정해주는 것이고, (5)는 배열의 크기를 의미합니다

이렇게 꺽쇠 안에 배열에 할당할 자료형을 지정해주는 것을 'Generic' 이라고 합니다

제네릭은 클래스 내부에서 사용할 자료형을 인스턴스를 생성할 때 확정하는 것입니다

제네릭과 관련해서는 더 구체적으로 다음에 포스팅하도록 하겠습니다!

 

 

 

그리고 이제 배열에 값을 할당하거나 사용할 수 있어야겠죠?

그러려면 다른 언어들처럼 배열 이름 뒤에 대괄호를 쓰고 그 안에 참조할 index를 쓰면 됩니다

*index는 배열 내의 데이터 순번이며, 0부터 시작합니다

 

var intArr = arrayOf(1,2,3,4,5)
intArr[2] = 8
println(intArr[4]) // 출력: 5

 

배열은 처음 선언했을 때의 전체 크기를 변경할 수 없다는 단점이 있지만,

한번 선언을 해두면 다른 자료구조보다 빠른 입출력이 가능하다는 장점이 있습니다

 

 

 

 

 

<형변환과 배열> 포스팅은 여기서 마치도록 하겠습니다!

 

 

 

 

 

 

 

*위 글은 유튜브 테크과학! DeMo님의 강좌를 참고하여 작성하였습니다