Processing math: 0%
본문 바로가기

코틀린30

[코틀린] 열거형 클래스 (Enumeration Class) 열거형 클래스 (Enumeration Class) 여러 개의 상수를 선언하여 열거된 값을 조건에 따라 선택 가능하게 한 클래스 실드 클래스(Sealed Class)와 유사 enum 키워드 사용 enum class MonthOfYear(val num : Int){ JANUARY(1), FEBURARY(2), MARCH(3), APRIL(4), MAY(5), JUNE(6), JULY(7), AUGUST(8), SEPTEMBER(9), OCTOBER(10), NOVEMBER(11), DECEMBER(12) } fun main() { val month = MonthOfYear.APRIL println("{month}") println("{month.num}월") /*결과 APRIL 4월 */ } 2020. 9. 22.
[코틀린] 실드 클래스 (Sealed Class) 실드 클래스 (Sealed Class) 미리 만들어 놓은 자료형들을 묶어서 제공하는 클래스 열거형 클래스와 유사하다. 추상 클래스와 같기 때문에 객체를 만들 수 없다. 기본 생성자는 private 같은 파일 안에서만 상속 가능 //첫번째 선언방법 sealed class Data{ class Human(var name : String, var age : Int) class Animal(var name : String, var age : Int) } //두번째 선언방법 -> 객체 생성 시 . 생략 가능 sealed class Data2 class Human2(var name : String, var age : Int) class Animal2(var name : String, var age : Int) fu.. 2020. 9. 22.
[코틀린] 데이터 클래스 데이터 클래스 (Data Class) DTO (Data Transfer Object) : 데이터 전달을 위한 객체 코틀린에서는 DTO를 간단하게 만들 수 있도록 데이터를 홀드하는 data class 를 제공한다. data class는 내부적으로 hasCode(), equals(), toString(), 게터/세터 등을 자동으로 생성해준다. data class Person(var name : String, var age : Int)//데이터 클래스 class Person2(var name:String, var age : Int)//일반 클래스 fun main() { println("데이터 클래스 : {Person("park",10).hashCode()}") println("데이터 클래스 : {Perso.. 2020. 9. 21.
[코틀린] Companion Object, object 선언 Companion Object 코틀린에서는 static 키워드를 사용할 수 없는 대신, 정적 변수를 선언할 수 있도록 Companion Object를 제공한다. companion object { 정적으로 선언할 변수, 함수들 } class P{ companion object{ var age : Int = 10 //정적 변수 fun printAge() //정적 함수 { println(age) } } } fun main() { P.printAge() } object와 싱글톤 object로 선언된 객체는 프로퍼티, 메서드에 객체 생성 없이 접근이 가능하다. 단일 인스턴스를 생성하기 때문에 싱글톤 패턴을 구현하는데 사용된다. 주 생성자, 부 생성자를 사용할 수 없다. (대신 init은 사용가능) object P.. 2020. 9. 19.