타입

    [Kotlin] UByte, UShort, UInt, ULong 사용해 부호 없는(Unsigned) 정수 다루기

    코틀린의 양의 정수 타입 일반적인 다른 언어들과 같이 코틀린에서도 부호 없는 정수(0 보다 크거나 같은 정수)형 데이터 타입을 다루기 위한 다양한 타입들이 코틀린 1.5버전부터 지원되기 시작했다. 글의 제목이 있는 UByte, UShort, UInt, ULong이 그 타입들이다. 변수를 각 타입으로 만드는 방법은 어렵지 않다. 우리가 Float을 선언할 때 접미어로 f를 붙이는 것처럼 접미어로 U를 붙여주면 된다. fun main() { val uByte: UByte = 100U // U를 붙여주어야 한다. val uShort: UShort = 10_000U // U를 붙여주어야 한다. val uInt: UInt = 1_000_000U // U를 붙여주어야 한다. val uLong: ULong = 10..

    [Kotlin] enum class란 무엇인가?

    목표 enum class가 무엇인지 이해한다. enum class가 사용되어야 하는 곳을 이해한다. enum class를 왜 사용해야 하는가? 변수의 상태 별로 다른 결과값을 출력하는 코드를 짜야한다면 어떻게 짜야할까? 직관적으로 떠오르는 방법은 변수의 상태를 상수로 정의한다음 상태 별로 동작을 정의하는 것이다. 예를 들어 Task라는 작업 단위가 있고 해당 작업 단위의 상태값이 state를 출력해주는 클래스를 설계한다고 해보자. 그러면 해당 클래스는 아래와 같이 만들어질 수 있다. class Task { var state: Int = WAITING fun printState() = when (state) { WAITING -> println("Waiting..") PROCESSING -> println..