하이~~!!
오늘은 짧고 굵게 글을 쓰고 좀 자려고해 ㅎㅎㅎ
오늘 공부해 볼건 아주 간단해 !! 바로바로 이넘이야 이넘 !! Enum!!
Enum
코틀린에서는 enum 이라는 키워드를 이용해서 만든 클래스를 만들 수 있어!
아 ! Enum 은 Enumerated Type 으로 '서로 연관된 상수 값들의 집합' 이야!
길게 말하면 머하겠어ㅎㅎ 아래 예제를 보자!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
fun main (args : Array<String>) {
callFruitName(Fruit.APPLE)
println(Fruit.APPLE)
println(Fruit.BANANA)
println(Fruit.ORANGE)
println(Animal.LION)
println(Animal.TIGER)
println(Animal.DOG)
}
enum class Fruit {
APPLE, BANANA, ORANGE
}
enum class Animal (val animal : String) {
LION("사자"),
TIGER("호랑이"),
DOG("개")
}
fun callFruitName(fruit : Fruit) {
when(fruit) {
Fruit.APPLE -> println("사과")
Fruit.BANANA -> println("바나나")
Fruit.ORANGE -> println("오렌지")
}
}
|
자 먼저 Fruit 를 보자 ㅎㅎ 안에 APPLE, BANANA, ORANGE 이렇게 세 가지가 있어!
왠지 변수같이 생기지 않았니? 그런데 말이야ㅎㅎ 저건 변수가 아냐 ! 값 그자체야.
실제로 얘네를 출력해보면 ( 타입.값 )
APPLE
BANANA
ORANE
이렇게 출력이 돼!
그리고 우리가 이 값을 정해줄 수도 있어 !
Animal을 보면 괄호 안에 값을 정해주지 ? 실제로 저 값을 사용하면 (타입.값.상수명)
사자
호랑이
개
이렇게 출력이 되는 걸 볼 수 있어. ㅎㅎ 실제 실행결과를 보면 ...!
Enum 참 쉽지? 그런데 .. ! 왜 Enum을 쓸까?
Enum을 쓰면 먼저 인스턴스 생성을 안해도 되니깐 이 값에 대한 안정성이 보장된다고 할 수 있어 !
그리고 Enum 을 써서 코딩 해놓으면 누가봐도 내 의도가 뭔지를 파악할 수 있어. ㅎㅎ 협업할 때 좋겠지?
또! 코드가 단순해지니깐 가독성이 아주 좋아져 !! ㅎㅎ
아무튼 앞으로는 그냥 상수 쓰지말고 Enum 을 써보자 ! 그럼 오늘도 즐거운 코딩!!
반응형
'Programming > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 뽀개기 - 배열 사용하기 (1) | 2019.12.12 |
---|---|
[Kotlin] 코틀린 뽀개기 - object 완벽 정리 (0) | 2019.12.09 |
[Kotlin] 코틀린 뽀개기 - 중첩 클래스 (Nested Class) 사용하기 (0) | 2019.12.07 |
[Kotlin] 코틀린 뽀개기 - Generic 사용하기 (0) | 2019.12.06 |
[Kotlin] 코틀린 뽀개기 - data 키워드를 사용해서 클래스 만들기 (2) | 2019.12.05 |
댓글