반응형

IT/Kotlin 6

[Kotlin] 코틀린 lateinit property has not been initialized 에러

[Kotlin] 코틀린 lateinit property url has not been initialized [코틀린 lateinit, lazy 키워드 초기화 미루기] - https://gxnzi.tistory.com/112 lateinit 키워드는 선언 이후에 초기값을 할당할 것을 명시적으로 선언하는 것을 의미한다. 이는 변수가 사용되기 전에, 초기화 되는 것을 확신하는 상황 -> lateinit 변수를 초기화하지 않고 사용하거나 lateinit 변수의 초기값이 할당되지 않은 상태에서 isNullOrEmpty() 함수를 사용하여 null 체크 한다면 lateinit property has not been initialized 에러가 발생하게 된다. lateinit 변수의 초기화 체크는 isInitialz..

IT/Kotlin 2023.08.31

[Kotlin] 코틀린 함수 (fun) 선언, 정의, 사용법, 코틀린 Unit

[Kotlin 코틀린 함수 fun 선언] 코틀린에서 함수를 선언하려면 fun 키워드를 이용한다. [Koltin 코틀린 함수 선언 기본 구조] fun 함수명(매개변수: 타입): 반환 타입 { ... } fun some(data1: Int): Int { return data1 * 10 } 반환 타입을 선언할 수 있으며, 생략하면 자동으로 Unit 타입이 적용된다. * Unit - 반환문이 없는 함수 데이터 형식이 아닌 특수한 상황을 표현하는 목적으로 사용된다. Unit 타입으로 선언한 변수는 Unit 객체만 대입할 수 있다. -> Unit 타입으로 변수를 선언할 수 있지만 의미가 없다. 이런 Unit 타입은 주로 함수의 반환 타입으로 사용 var data1: Unit = Unit fun some(): Uni..

IT/Kotlin 2023.07.10

[Kotlin] 코틀린 데이터 타입 Any, Nothing, 물음표(?) Nullable, Not NUll

[Kotlin 코틀린 데이터 타입] [코틀린 Any 란] 모든 객체의 상위 객체 (모든 코틀린의 클래스는 Any의 하위 클래스) Java의 Object 타입 -> Any 타입은 컴파일 시 Object로 변환 [코틀린 Nothing 이란] null이나 예외를 반환하는 함수로 특수한 상황에서 사용한다. Nothing으로 선언한 변수에는 null만 대입할 수 있다. 즉, 데이터로서는 의미가 없다. 주로 함수의 반환 타입에 사용한다. 어떤 함수의 반환타입이 Nothing 이면 반환은 하지만 의미 있는 값은 아니라는 의미이다. 항상 null만 반환하는 함수라든가, 예외를 던지는 함수의 반환 타입을 Nothing으로 선언한다. var data1: Nothing? = null // null 반환 함수 fun some..

IT/Kotlin 2023.07.08

[Kotlin] 코틀린 lateinit, lazy 키워드 초기화 미루기

[Kotlin 코틀린 초기화 미루기] 변수를 선언할 때 초기값을 할당할 수 없는 경우가 있다. - > 나중에 값을 할당할 것을 컴파일러에게 알려주야 한다. 이러한 경우, lateinit 이나 lazy 키워드를 사용한다. [Kotlin 코틀린 lateinit] lateinit 이란 - 이후에 초기값을 할당할 것을 명시적으로 선언 lateinit으로 선언한 변수는 선언과 동시에 값을 할당하지 않아도 되지만, 모든 유형의 변수 선언에 사용할 수 없고, 아래의 규칙을 따라야 한다. 1. var 키워드로 선언한 변수만 사용할 수 있다. lateinit var date1: String // 성공 lateinit val date2: String // 오류 2. int, Long, Short, Double, Float..

IT/Kotlin 2023.07.07

[Kotlin] 코틀린 변수 var, val, const

[Kotlin 코틀린 변수 var, val] 변수 선언 기본형태 var 변수명: 변수타입 = 초기화 값 val 변수명: 변수타입 = 초기화 값 [var] - var : 변경 가능한 변수 = 읽기 / 쓰기 [val] - 한번 초기화 하면 변경 불가능한 변수 = 읽기만 가능한 final 변수 초기화 시 변수명 뒤의 타입은 생략이 가능하다. -> 컴파일러가 타입을 추론 -> 변수 선언 시에 초기화를 하지 않으면 컴파일러가 타입을 추론할 수 없기 때문에 이러한 경우에는 타입을 명시해주어야한다. [const] val 앞 const를 붙이면 기본 타입과 String만 넣을 수 있는 완전 상수가 된다. const val num1: Int = 10 // (O) const var num2: Int = 20 // (X) ..

IT/Kotlin 2023.07.04

[Kotlin] 코틀린 이란? 코틀린 특징, 코틀린 장점

[Kotlin 코틀린 이란] - JVM 기반의 언어이며, 자바(Java)를 대체할 수 있도록 개발된 언어이다. - 자바(Java)와 비교하여 간결한 문법을 제공한다. - 구글이 안드로이드의 공식 언어로 Kotlin 추가 - 확장자는 .kt 컴파일하면 자바와 같이 .class [Kotlin 코틀린 특징 및 장점] - 정적 타입 지정 언어이다. 프로그램의 구성 요소(객체, 메서드 타입 등)를 컴파일 시점에 알 수 있고, 컴파일러가 타입을 검증해준다. 컴파일 타임에 메서드의 호출관계가 지정되어 런타임 빠르다. 컴파일러가 검증하기 때문에, 오류로 중단될 가능성이 적어진다. - 널 (null)에 대한 안정성을 제공한다. 컴파일 단계에서 NullPointerException을 검사한다. 런타임 시 발생할 수 있는 ..

IT/Kotlin 2023.07.03
반응형