AI의 답
결론 : Enum은 간단한 선택 목록을 만들 때 사용하고, Sealed Class는 관련된 여러 종류의 데이터를 하나로 묶을 때 사용한다고 생각하면 돼요.
- 열거형 (Enum)
열거형은 미리 정해진 선택지들의 목록이에요. 예를 들어, 일주일의 요일을 생각해봐요:
enum class 요일 {
월요일, 화요일, 수요일, 목요일, 금요일, 토요일, 일요일
}
이렇게 하면 요일은 이 7개 중 하나만 될 수 있어요. 더 추가할 수 없고, 각각은 똑같은 종류의 데이터예요.
- 봉인 클래스 (Sealed Class)
봉인 클래스는 열거형보다 조금 더 자유로워요. 여러 종류의 관련된 데이터를 하나로 묶을 수 있어요. 예를 들어, 학교 구성원을 생각해봐요:
sealed class 학교구성원 {
class 학생(val 학년: Int, val 반: Int) : 학교구성원()
class 선생님(val 담당과목: String) : 학교구성원()
object 교장선생님 : 학교구성원()
}
이렇게 하면 학교 구성원은 학생, 선생님, 교장선생님 중 하나가 되는데, 각각 다른 정보를 가질 수 있어요.
주요 차이점:
- 다양성: Enum은 같은 종류의 항목만 나열하지만, Sealed Class는 다양한 종류의 데이터를 포함할 수 있어요.
- 유연성: Enum은 고정된 값만 가질 수 있지만, Sealed Class는 각 항목마다 다른 데이터를 가질 수 있어요.
- 용도: Enum은 간단한 선택 목록에 좋고, Sealed Class는 복잡한 데이터 구조를 표현할 때 유용해요.
'개발 중얼거림' 카테고리의 다른 글
Kotlin 에서 SQLite 쓰기... (2) | 2024.09.02 |
---|---|
[Kotlin] 표준 함수 apply와 also의 차이점 (1) | 2024.08.29 |
[Kotlin] Function Reference(::) (0) | 2024.08.29 |
[Kotlin] invoke란? (0) | 2024.08.29 |