반응형

코틀린 6

[Kotlin] Compare two formatted Date Strings

목차 Import Library 날짜 데이터 생성 날짜 비교 예제 결과 결론 Import Library import java.text.SimpleDateFormat import java.time.Duration import java.time.LocalDateTime import java.util.* 날짜 데이터 생성 // 현재 시간 가져오기 val format = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.getDefault()) val date = try { val millis = Calendar.getInstance(TimeZone.getTimeZone("UTC")).timeInMillis format.format(Date(millis)) } cat..

[Kotlin] Abstract class

소개abstract class는 template class 처럼 사용할 수 있다. 하나의 설계도 혹은 청사진으로써 그 역할을 한다. 독립적으로는 어떠한 행동을 할 수 없으며 다른 class와의 관계를 통해서 그 역할을 한다. abstract class 안에 멤버는 하나 이상 abstract로 선언될 수 있으며, 선언된 멤버는 구현체를 갖지 않는다. 또한, abstract로 선언되었다면 open 키워드를 사용할 필요가 없다. abstract 로 선언된 멤버는 반드시 abstract class를 상속 받고 있는 클래스 내에서 구현되어야 하기 때문이다.abstract class Rectangle() { val vertex = 4 // 꼭지점의 개수. 불변. 확정. abstract val width: Int /..

[Kotlin] Sealed Class

소개상수로 정의한 특정 값들을 enum class로 정의하여 사용할 수 있다. 그렇게 하면 엉뚱한 값이 할당되는 상황을 방지할 수 있어 개발자의 실수를 줄일 수 있다. 이런 enum class의 한계는 내부적으로 각 enum constant는 하나의 single instance를 갖기 때문에 서로 다른 객체를 가질 수 없다는 것이다. 또한, Kotlin에서 자주 사용하는 when 문을 사용할 때, enum value가 누락되었어도 어떤 오류 메시지를 발생시키지 않는다. 반면에, sealed class를 사용하여 구현하였을 경우 when 문 안에서 누락된 값을 캐치할 수 있다. 설명sealed class와 interface는 상속에 대한 더 많은 제어를 제공하는 제한된 클래스 계층을 나타낸다.sealed ..

[Kotlin] Interfaces

설명코틀린 인터페이스는 추상 멤버와 구현체를 모두 포함할 수 있다.abstract와의 차이점은 인터페이스 안에 상태를 저장할 수 없다.properties는 가질 수 있지만 abstract이거나 접근 구현체(accessor implementations)를 제공해야 한다.interface MyInterface { fun bar() fun foo() { // optional body } } Properties in interfaces인터페이스 안에 properties를 선언할 수 있다.인터페이스 안에 선언된 property는 backing field를 가질 수 없다.interface MyInterface { val prop: Int // abstract val propertyWithImplementation:..

[Koltin] Object Keyword. (싱글톤 패턴, 익명 함수)

경우에 따라 새 하위 클래스를 명시적으로 선언하지 않고 일부 클래스를 약간 수정한 개체를 만들어야 한다. 코틀린은 객체 표현식과 객체 선언으로 이를 처리할 수 있다. Object expressions 객체 표현식은 익명 클래스, 즉 클래스가 명시적으로 선언되지 않은 클래스의 객체를 만든다. 이러한 클래스는 일회용으로 사용하기 유용하다. 처음부터 정의하거나 기존 클래스에서 상속하거나 인터페이스를 구현할 수 있다. 익명 클래스의 인스턴스는 이름이 아닌 식에 의해 정의되므로 익명 객체라고도 한다. Creating anonymous objects from scratch 객체 표현식은 object 키워드를 사용한다. val helloWorld = object { val hello = "Hello" val worl..

[Kotlin] 코틀린 데이터 타입 형변환

안녕하세요 골드입니다. 오늘은 코틀린에서 기본 자료형들(String도 포함하여)의 형변환에 대해서 알아보겠습니다. 1. 문자열(String)을 숫자 타입으로 형변환 문자열을 숫자 타입으로 형변환 하겠습니다. 흔히 사용하는 숫자 타입으로 Int, Long, Double 같은 데이터 타입이 있습니다. 코틀린은에서 형변환은 매우매우 간단합니다. toFloat toDouble toDoubleOrNull toInt toIntOrNull toLong 같은 함수들을 코틀린에서 제공합니다. 보시다시피 원하는 데이터 타입 앞에 to를 붙여서 사용하면 됩니다. String형 변수 str에 "100"을 저장하고 Int형 변수 number는 초기화를 하지 않았기 때문에 Int라고 알려주기만 했습니다. 이후에 str.toInt..