본문 바로가기
728x90

Kotlin4

[Kotlin] Flow에서 ColdStream과 HotStream의 차이 Cold Stream 하나의 소비자(Consumer)에게 데이터를 발행합니다. (UniCast) 소비자가 소비를 시작할 때 데이터를 생성합니다. 모든 데이터는 스트림 내부에서 생성됩니다. Hot Stream 여러개의 소비자에게 데이터를 발행합니다. (MultiCast) 소비자가 데이터에 접근하지 않더라도 계속 데이터를 발행합니다. 모든 데이터는 스트림 외부에서 생성됩니다. 라고 정리할 수 있을 것 같습니다. 예를 들자면, Cold Stream은 'CD 플레이어', Hot Stream은 '라디오 방송'에 비유할 수 있습니다. CD 플레이어는 소비자(사용자) 한 명이 사용하고, 소비자가 플레이어를 중단하면 CD는 멈추고 더 이상 재생되지 않습니다. 그리고 1시간 뒤, 하루 뒤에도 플레이어를 재생하는 시점에 .. 2023. 6. 3.
[Kotlin] 배열(Array)과 리스트(List) + ArrayList □ 배열 (Array) 배열(Array)은 정적인 데이터 타입으로 선언하는 순간 배열의 크기(size)가 정해지며 이후 size 변경 불가 배열의 값(value)에 인덱스(Index)를 이용해 접근 기본적으로 Mutable(수정 가능) 타입이고, 인덱스(Index)를 통해 값(value) 변경 가능 배열의 생성 fun main(args: Array) { val arr1 = arrayOf(1, 2, 3, 4, 5) // [1,2,3,4,5] val arr2 = arrayOf("하나", "둘", "셋", 1, 2, 3) // [하나, 둘, 셋, 1, 2, 3] val arr3 = arrayOfNulls(3) // [null, null, null] val arr4 = Array(5) {0} // [0, 0, .. 2022. 12. 26.
[Kotlin] for, while 반복문 코틀린에는 조건에 따라 횟수와 범위를 설정하는 대표적인 방법으로 for 문과 while 문이 있습니다. 다양한 실행 예시를 통해 살펴보겠습니다. for 문 ▷ 실행 예시 1 fun main(args: Array) { for (i in 0..5) { print("$i ") // 0 1 2 3 4 5 } for (j in 0 until 5) { print("$j ") // 0 1 2 3 4 } } 가장 일반적인 for 문 작성법입니다. for (변수명 in range)의 꼴로 range가 a..b의 경우 a에서 b까지(b포함), a until b는 a에서 b이전까지 수행합니다. 위의 출력 예시에서 5의 출력 여부를 통해 확인할 수 있습니다. ▷ 실행 예시 2 fun main(args: Array) { for.. 2022. 12. 23.
[Kotlin] readLine()과 자료형 변환 콘솔 창에서 사용자로부터 입력을 받을 수 있는 방법과 입력된 값을 특정 자료형으로 변환하는 방법에 대해 알아보겠습니다. readLine()을 이용한 한 줄 입력 kotlin 기본 함수 중 readLine()은 개행(Enter) 이전까지의 입력을 String으로 저장합니다. 물론, 공백(띄어쓰기)이 포함됩니다. fun main(args: Array) { val input = readLine()!! println("input : " + input) } readLine()의 반환 값은 String? 이므로 Not Null 타입으로 변환해주기 위해 !!를 붙여줬습니다. 자료형 변환 입력된 문자열을 쪼개거나 숫자로 바꾸거나 배열로 저장하기 위해서는 자료형을 변환하는 과정이 필요합니다. 대표적인 예시로 살펴보겠습니.. 2022. 12. 20.
728x90
반응형