Programming/Kotlin
[Kotlin] Unit
코틀린의 Unit은 자바의 void,Void를 합친것이라고 볼 수 있다. void와 Void 자바의 void와 Void는 마치 int와 Integer와 같음 비유하자면 void는 기본형, Void는 참조형메서드에서 리턴타입이 없으므로 생략한다는 의미의 void를 사용했음제네릭을 사용할때는 반드시 참조타입으로 타입을 명시해야 하는데, void는 제네릭에서 사용될 수 없어서 Void를 사용함void: 반환값이 존재하지 않음Void: 인스턴스 생성 불가 혹은 참조값이 존재하지 않음 함수 반환 값이 필요없을 때, 반환 타입으로 Unit을 사용해서 반환타입이 없다는 것을 명시한다. 또한 Unit은 싱글톤을 가지기 때문에 Unit이라는 단 하나의 값만 가짐 따라서 Unit?은 존재할 수 없다. Unit은 참조형이기..
[Kotlin] when
when 기존 다른 언어에서 사용하던 switch문과 유사하다. JAVA의 default = Kotlin의 else 기존의 switch문과는 다르게 조건으로 일련의 범위를 줄 수 있음 is Int~ else같이 타입의 일치 유무를 조건으로 줄 수 있음 따로 break를 해줄 필요없다. if문처럼 조건에 따른 결과를 변수에 저장 가능 Java 파라미터: int,char,문자열 리터럴(boolean타입X), 변수,연산식 case값: int,char,문자열 리터럴(true/false X), 변수X 연산식X int value=5; switch(value){ case 1: case2: System.out.println(); break; case5: System.out.println(); break; default..
[Kotlin] 기본형과 참조형
보통 프로그래밍 언어의 대부분 자료형은 기본형 자료형과 참조형 자료형만을 사용한다. 하지만 기본형과 참조형 모두 사용하는 Java와 달리 Kotlin에서는 참조형 자료형만을 사용한다. 기본형은 참조형에 비해 상대적으로 속도가 빠른데, 그럼 Kotlin은 Java보다 비효율적이라고 생각할 수 있지만 이는 잘못된 생각이다. Kotlin에서는 코딩할 때는 모두 참조형만 사용하는데, 이것은 다시 코틀린의 성능 최적화에 따라 JVM에 실행하기 위해 코틀린 컴파일러에서 기본형으로 대체된다. 즉 Kotlin에서도 기본형으로 대체될 수 있는 자료형은 코딩할 때는 참조형으로 사용하더라도, 실제로는 기본형으로 동작한다. 기본형(Primitive data type) 변수에 값 자체를 저장하며, Stack 영역에 생성된다. ..
[Kotlin] Null Safety
코틀린은 자바보다 null에 대한 좀 더 세밀한 안정적인 처리가 가능한데, 이것을 Null Safety라고 한다. 코틀린의 Null Safety를 통해 NullPointerException이 생기는 것을 방지할 수 있다. Nullable nullable은 변수에 null을 허용하겠다는 의미이다. ? 연산자 코틀린에서는 기본적으로 변수를 선언할 때 다른 언어와 달리 초기값을 null로 하는 것이 불가능하다. 그러므로 변수에 null을 저장하고 싶다면 즉, null을 허용하고 싶다면 변수의 타입 뒤에 물음표를 추가해야 한다. val number1 : Int = null //NPE error 발생 val number2 : Int? = null !! 연산자 !! 연산자는 null이 아님을 개발자가 보장한다. 하..