일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- isNullOrBlank
- kotlin listview
- 해시
- 코틀린 내부 클래스
- 컬렉션함수
- kakao blind
- lateinit
- 코틀린 문자열
- class
- 코틀린 data class
- add view
- programmers # 프로그래머스 #큰수비교 #cmp_to_key()
- 코틀린 제너릭
- Kotlin
- 내용의동일성
- kotlin addview
- Kotlin Generic
- 코틀린 lateinit
- kotlin collection
- 카카오 순위검색
- 코틀린 중첩클래스
- 코틀린 람다함수
- 프로그래머스 #탐욕법 #큰수만들기 #join #python
- 코틀린 컬렉션함수
- 프로그래머스
- collection function
- 객체의 동일성
- 코틀린
- 컬렉션 함수
- kotlin recyclerview
- Today
- Total
엔지니어 규의 IT 프로그래밍 다이어리
[Kotlin]2. 형변환과 배열 본문
형변환
형변환은 하나의 변수에 지정된 자료형을 호환되는 다른 자료형으로 변경하는기능을 의미한다.
코틀린은 자료형 간의 형변환을 지원하기 위해 형변환 함수들을 제공하고 있다.
이러한 형변환 함수들은 to 뒤에 변환된 자료형을 받아서 사용하고 있다.
toByte()
toShort()
toInt()
toLong()
toFloat()
toDouble()
toChar()
1
2
3
4
5
|
fun main(){
var a : Int = 12345
var b : String = a.toString() // 정수 자료형인 a 를 문자 자료형으로 바꿈
println(b)
}
|
cs |
위 코드 처럼 형변환을 하기 위해서는 Int형 변수의 toString() 함수를 호출하여,
String 값으로 변환된 값을 반환받아 String 변수에 할당해줘야 한다.
이것을 전문용어로는 명시적 형변환(explicit type casting) 이라고 한다.
참고로 코틀린은 형 변환시 발생할 수 있는 오류를 막기위해, 다른 언어들이 지원하는 암시적 형변환 은 지원하지 않는다.
명시적 형변환 : 변환될 자료형을 개발자가 직접 지정함
암시적 형변환 : 변수를 할당할 시 자료형을 지정하지 않아도 자동으로 형변환 됨
배열
배열은 내부적으로 Array class 에서 제공이 된다.
1
2
3
4
5
6
7
8
|
fun main(){
var a = arrayOf(1,2,3,4,5)
var b = arrayOfNulls<Int>(5) // 크기가 5인 비어 있는 배열
a[3] = 6 // a 배열의 4번째 자료에 6 을 할당한다.
println(a[2]) //a 배열의 3번째 자료를 출력한다.
}
|
cs |
배열을 만들기 위해서는 배열로 사용할 변수를 사용해 주고 arrayOf 함수를 통해 배열에 저장할 값들을 나열하면 된다.
특정 크기의 공간을 가지는 비어있는 배열을 만들고 싶다면 arrayOfNulls<자료형>(자료크기) 방식으로 만들수 있다.
여기서 배열에 할당할 <자료형> 을 지적해 주는 행위를 'Generic' 이라고 하는데 이것은 추후에 다시 자세히 알아볼 예정이다.
또한 위에서 볼 수 있듯 해당 배열 뒤에 [] 를 붙여줘서 배열내 원하는 순서의 자료를 읽을수 있으며,
또한 이미 있는 자료를 다른 자료로 할당 할 수 있다.
* 참고로 a[3] 은 배열의 3번째가 아니고 4번째 자료를 가리킨다. 대부분의 언어에서는 [0] 이 배열의 첫번째를 가리킨다.
배열은 처음 선언했을때의 전체 크기를 변경 할 수 없다는 단점이 있지만,
한번 선언을 해주면 다른 자료구조보다 빠른 입출력이 가능하다는 장점이 있다.
'프로그래밍 언어 > 코틀린' 카테고리의 다른 글
[Kotlin]6. 흐름제어와 논리 연산자 (0) | 2022.05.04 |
---|---|
[Kotlin]5. 반복문과 증감연산자 (0) | 2022.05.04 |
[Kotlin]4. 조건문과 비교 연산자 (0) | 2022.05.01 |
[Kotlin]3. 타입 추론과 함수 (0) | 2022.04.30 |
[Kotlin]1. 변수와 자료형 (0) | 2022.04.28 |