Rust Korea
한국 Rust 생태계의 단일 진실 공급원
rustkorea.kr
러스트 코리아 사이트를 오픈하였습니다. 이제 여기에서 좀 더 많은 러스트 관련 소식을 전하려고 합니다. 감사합니다.
지금까지 변수나 숫자 같은 기초를 배우느라 고생 많으셨어요.
이번 시간에는 Rust에서 아주 유용하고 재미있는 개념인 **'열거형(Enum)'**에 대해 알아볼 거예요. 어렵지 않으니 저와 함께 차근차근 살펴봐요!
---
여러분, **'교통 신호등'**을 한번 떠올려 보세요. 신호등은 어떤 색깔을 가질 수 있나요? 보통 **빨간불, 노란불, 초록불** 중 하나죠? 파란색이나 보라색 신호등은 없잖아요.
이렇게 **"미리 정해진 몇 가지 선택지 중 하나만 고를 수 있는 타입"**을 프로그래밍에서는 **열거형(Enum, 이넘)**이라고 불러요.
* **열거형(Enum):** 여러 개의 가능한 값들을 하나로 묶어서 이름을 붙여놓은 목록이에요. (Enumeration의 줄임말)
---
Rust에게 "신호등에는 이런 색깔들이 있어!"라고 알려주는 코드를 짜볼까요?
enum TrafficLight {
Red, // 빨간불이라는 선택지(Variant)를 만들어요.
Yellow, // 노란불이라는 선택지를 만들어요.
Green, // 초록불이라는 선택지를 만들어요.
}
* **선택지(Variant, 배리언트):** 열거형 안에 들어있는 각각의 항목들을 말해요.
---
이제 정의한 신호등 중에서 하나를 골라 변수에 담아볼게요. `::`이라는 기호를 사용해서 "신호등의 빨간불"처럼 구체적으로 지정해줍니다.
fn main() {
// 'current_light'라는 변수에 '신호등' 중 '빨간불'을 저장해요.
let current_light = TrafficLight::Red;
// 'next_light'라는 변수에 '신호등' 중 '초록불'을 저장해요.
let next_light = TrafficLight::Green;
}
---
열거형을 쓰면 좋은 점은 **'실수를 방지'**할 수 있다는 거예요.
만약 그냥 글자(String)로 신호등을 표현한다면, 누군가 실수로 `"Blue"`나 `"Purple"`이라고 적을 수도 있겠죠? 하지만 열거형을 사용하면 딱 정해진 `Red`, `Yellow`, `Green`만 쓸 수 있게 Rust가 꼼꼼하게 체크해준답니다.
* **타입 안정성(Type Safety):** 프로그램이 정해진 규칙대로만 작동하도록 컴퓨터가 미리 검사해주는 성질이에요.
---
처음에는 `enum`이라는 단어가 낯설 수 있지만, **"선택지 메뉴판을 만드는 것"**이라고 생각하면 훨씬 쉬워질 거예요. Rust는 여러분이 실수하지 않도록 도와주는 친절한 가이드랍니다.
| 58. 열거형에 데이터 저장하기 (0) | 2026.10.13 |
|---|---|
| 56. 연관 함수와 생성자 (0) | 2026.10.06 |
| 55. 메서드 정의하기: impl 블록 (0) | 2026.10.06 |
| 54. 튜플 구조체 활용하기 (0) | 2026.10.06 |
| 53. 필드 초기화 축약법 (0) | 2026.10.01 |