일일 회고
점점 더 못쓰고 있다.... 시간 짬내서 해보자...
오늘의 키워드
- 기술면접 자문자답
enum 은 무엇인가요?
열거형(enum)은 서로 관련 된 상수들의 집합을 정의하는 데이터 타입이다.
예를 들면, 요일, 색 등 고유 값을 나타낼 수 있는 것들에 적용해 볼 수 있다.여러 개의 상수를 선언하고 열거된 값을 조건에 따라 선택할 수 있는 특수한 클래스이고, 자료형이 동일한 상수를 나열할 수 있다
.enum class 이므로 각 열거형 상수에 값을 할당할 수 있고, 메소드를 정의할 수도 있다.이렇게 열거형(enum class)을 사용함으로써, 코드의 가독성과 유지보수성을 향상시킬 수 있다.
- enum class의 강점은 when을 사용 할 때 나오는데, 모든 형식을 처리할 수 있기 때문에 각 상수에 대한 처리가 간편하고 가독성이 좋아진다.
- 각 열거형 상수는 해당 클래스의 인스턴스로 간주된다.
- 코틀린에서는 enum class 키워드를 사용해서 enum을 정의 할 수 있다.
- 이러한 상수들은 열거형 상수(enum constants)라고 불리며, 종종 프로그램 내에서 고유한 역할을 수행한다.
when 은 어떨때 사용하나요?
when은 다음과 같은 상황 에서 사용할 수 있다.
1. 자료형 비교자료형에 관계없이 비교할 수 있다.
변수나 표현식에 지정 된 값에 따라 다양한 작업을 수행할 수 있다.
자료형에 관계없이 비교할 수 있습니다.
val a: Any = 1223
when(a) {
is Int -> // ..
is String -> // ..
else -> // .. 위를 제외한 나머지 타입일 때 실행
}
2. 복잡한 조건 비교 (if 문 처럼 쓸 수 있음)
if - else if - else 절보다 간략하게 사용해 볼 수 있다.
직접 조건 식을 작성하여 분기 처리를 할 수 있다.
val score = 85
when {
score >= 90 -> println("A") // 90 이상인 경우
score >= 80 -> println("B") // 80 이상인 경우
score >= 70 -> println("C") // 70 이상인 경우
else -> println("F") // 모든 경우에 해당하지 않는 경우
}
3. enum type (열거형) 과 함께 사용
열거형(enum)과 함께 사용할 때 유용하다. 모든 열거형 상수를 다뤄야 하므로 각 상수에 대한 처리가 간편하고 가독성이 좋아진다.
enum class Season {
SPRING,
SUMMER,
AUTUMN,
WINTER
}
fun getSeasonType(season: Season): String {
return when (season) {
Season.SPRING, -> "Spring"
Season.SUMMER -> "Summer"
Season.AUTUMN -> "Autumm"
else -> "Winter"
}
}
'내일배움캠프 7기 > TIL' 카테고리의 다른 글
내일배움캠프 7기 Android TIL 67일차 (2023.10.30) (0) | 2023.10.31 |
---|---|
내일배움캠프 7기 Android TIL 66일차 (2023.10.27) (0) | 2023.10.27 |
내일배움캠프 7기 Android TIL 64일차 (2023.10.25) (0) | 2023.10.25 |
내일배움캠프 7기 Android TIL 63일차 (2023.10.24) (0) | 2023.10.24 |
내일배움캠프 7기 Android TIL 62일차 (2023.10.23) (1) | 2023.10.23 |