Kotlin/Class and Interface

목표 enum class가 무엇인지 이해한다. enum class가 사용되어야 하는 곳을 이해한다. enum class를 왜 사용해야 하는가? 변수의 상태 별로 다른 결과값을 출력하는 코드를 짜야한다면 어떻게 짜야할까? 직관적으로 떠오르는 방법은 변수의 상태를 상수로 정의한다음 상태 별로 동작을 정의하는 것이다. 예를 들어 Task라는 작업 단위가 있고 해당 작업 단위의 상태값이 state를 출력해주는 클래스를 설계한다고 해보자. 그러면 해당 클래스는 아래와 같이 만들어질 수 있다. class Task { var state: Int = WAITING fun printState() = when (state) { WAITING -> println("Waiting..") PROCESSING -> println..
목적 Data Class를 이해한다. 개요 Kotlin에서는 모든 클래스는 Any 클래스를 상속 받는다. Any 클래스에는 equals, hashCode, toString 가 정의되어 있고, 따라서 Kotlin의 클래스는 위 메서드들을 재정의하여 사용해야 한다. 만약 이 메서드들이 어떤 역할을 하는지 모른다면 먼저 아래 글을 보고 오도록 하자. Class에 정의되어야 하는 equals, hashCode, toString 살펴보기 목적 equals, hashCode, toString 에 대해 안다. 클래스에 정의되어야 하는 메서드 Java에서 클래스는 Object Class를 상속 받고, Object Class에 정의된 toString(), hashCode(), equals(other: Object) 메서..
목적 equals, hashCode, toString 에 대해 안다. 클래스에 정의되어야 하는 메서드 Java에서 클래스는 Object Class를 상속 받고, Object Class에 정의된 toString(), hashCode(), equals(other: Object) 메서드를 재정의 할 수 있다. Kotlin에서도 Java와 마찬가지로 Any Class를 상속받으며 Any Class에 정의된 toString(), hashCode, equals를 재정의 할 수 있다. package kotlin public open class Any { public open operator fun equals(other: Any?): Boolean public open fun hashCode(): Int public..
목표 Java의 타입 시스템에 대해 이해한다. Kotlin의 타입 시스템에 대해 이해한다. Java의 타입 시스템 Java에서는 데이터의 타입이 원시 타입과 Object Class를 상속하는 타입 두가지로 나뉜다. 원시 타입(Primitive Type) 값 그 자체가 Stack 메모리에 저장되어 접근속도가 빠르다. null을 담을 수 없다. Object Class를 상속하는 타입 Stack에는 참조값을 저장하고 실제 데이터는 Heap 메모리에 저장된다. Primitive type은 Object Class를 상속하지 않으며, 별도 타입으로 분류된다. 물론 Primitive Type의 박싱된 타입인 Boolean, Integer 등은 Object Class를 상속받는다. Primitive type 외의 모든..
Dev.Cho
'Kotlin/Class and Interface' 카테고리의 글 목록 (4 Page)