열거형과 데이터
enum
의 원소들은 C의 union처럼 동작할 수 있도록 한 개 이상의 자료형을 가질 수 있습니다.
enum
이 match
를 통해 패턴 일치될 때, 각각의 데이터 값에 변수명을 붙일 수 있습니다.
enum
의 메모리 상세:
- enum 데이터 값은 가장 큰 원소의 메모리 크기와 같은 메모리 크기를 가집니다. 이는 가능한 모든 값이 동일한 메모리 공간에 들어갈 수 있게 해줍니다.
- 원소의 자료형(있는 경우)에 더하여, 각 원소는 무슨 태그에 해당하는지 나타내는 숫자값도 갖습니다.
다른 상세 정보:
- Rust의
enum
은 tagged union으로도 알려져 있습니다.
- Rust가 대수적 자료형(algebraic types)을 갖고 있다고 할 때 이는 자료형을 조합하여 새 자료형을 만드는 것을 의미합니다.