Apple is Apple

일일 회고

 

점점 더 못쓰고 있다.... 시간 짬내서 해보자...

 

오늘의 키워드

  • 기술면접 자문자답

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"
    }
}
profile

Apple is Apple

@mjjjjjj