본문 바로가기

kotlin18

컬렉션 타입 여러 개의 데이터를 표현하는 방법이며 Array, List, Set, Map이 있음 fun main() { val data: Array = Array(3, {0}) // 람다함수 초기값 0 3개 만들기 data[0] = 10 data[1] = 20 data.set(2, 30) // 3번째 인덱스 데이터 30으로 설정 println (""" size: ${data.size} data: ${data[0]}, ${data[1]}, ${data.get(2)} """) } // 결과 // size : 3 // data: 10, 20, 30 fun main() { val data: arrayOf(10, 20, 30) // 크기가 3인 Int 배열 선언 및 할당 println (""" size: ${data.size.. 2021. 12. 13.
데이터 타입 코틀린의 모든 변수는 객체 기초 데이터 타입 아니라 클래스 이다 fun fun() { var data1: Int = 1 var data2: Int? = null // null 가능 data1 = data.plus(1) // 객체의 멕서드 이용 가능 } val a: Byte = 0b00123456 val a: Short = 1 val a: Long = 10L val a: Double = 10.0 val a: Float = 10.0f val a: Boolean = true val a: Char = 'a' // 문자는 작은 따옴표 val a: "hello \n hell " // 문자열은 쌍따옴표 val a: """ hello hell """ // 삼중따옴표 .trimIndent()함수가 자동 추가되어 문자열 .. 2021. 12. 13.
초기화 미루기 변수를 선언할 때 초깃갑을 할당할 수 없는 경우가 있다 이때 값을 이후에 할당할 것이라고 컴파일러에게 알려주어야 한다. lateinit나 lazy 키워드를 이용한다. lateinit (늦은 초기화?) 선언한 변수는 선언과 동시에 초깃값을 할당하지 않아도 되지만 모든 유형의 변수 선언에 사용할수 없는 2가지 규칙이 있다. - lateinit은 var 키워드로 선언한 변수에만 사용 가능 - Int, Long, Short, Double, Float, Boolean, Byte 타입에는 사용 불가 lateinit val data1:String // error!!! lateinit var data1:String // success !!! lazy (게으른?) 변수 선언문 뒤에 by lazy { } 형식으로 선언 소.. 2021. 12. 13.
코틀린 이란? 코틀린은 젯브레인에서 오픈소스 그룹을 만들어 개발한 프로그래밍 언어이다. 2011년 처음 공개되어 2017년 구글에서 안드로이드 공식언어로 지정하면서 유명해졌다. 자바(Java)가 인도네시아 섬 이름을 따서 사용했든 코틀린(Kotlin)도 러시아 섬 이름을에서 따왔다 ?? 섬에 무슨 사연이 있나?? 코틀린도 자바의 가상 머신(JVM)기반을 둔 언어기에 안드로이드 앱 개발이 가능하다. 코틀린은 .kt 확장자를 사용하며 코틀린 컴파일러(kotlinc)가 .kt 파일을 컴파일하면 자바 바이트 코드가 만들어진다. 자바보다 나은점? 1. 열라 간결하다. 2. Null 허용과 Null 불허용으로 구분 널안정성을 안정성 확보한다. 객체지향 프로그래밍에서 객체는 Null 상태가 가능해서 런타임 오류인 널 포인트 예외가.. 2021. 12. 13.