목표
- Enum 클래스의
entries
프로퍼티가 무엇인지 이해한다. - 기존에 있던 Enum
values()
메서드와 차이점을 이해한다.
entries
- kotlin 1.9.0부터 enum 모든 값을 반복해서 처리하고 싶은 경우
entries
프로퍼티를 사용할 수 있다.
CardType.entries.forEach {
println(it.code)
}
values()와 차이점
values()
- 호출시마다 배열을 생성하고 복제한다. (상대적으로 성능이 나쁨)
- mutable 하다.
Array
타입 반환으로 kotlin의 확장 함수를 사용하기 불편하다.
entries
- 미리 생성된 리스트를 반환한다.
- immutable
List
를 상속한EnumEntries
를 반환하여 kotlin의 확장 함수들을 사용하기 용이하다.