상세 컨텐츠

본문 제목

57. 열거형(Enum)의 기초

RUST 온보딩/러스트를 배우고 만들자_초보자

by 러스트코리아 2026. 10. 13. 07:55

본문

반응형

 

https://rustkorea.kr

 

Rust Korea

한국 Rust 생태계의 단일 진실 공급원

rustkorea.kr

러스트 코리아 사이트를 오픈하였습니다. 이제 여기에서 좀 더 많은 러스트 관련 소식을 전하려고 합니다. 감사합니다.

 

지금까지 변수나 숫자 같은 기초를 배우느라 고생 많으셨어요.

이번 시간에는 Rust에서 아주 유용하고 재미있는 개념인 **'열거형(Enum)'**에 대해 알아볼 거예요. 어렵지 않으니 저와 함께 차근차근 살펴봐요!

---

### 1. 열거형(Enum)이란 무엇일까요? (비유로 이해하기)

 

여러분, **'교통 신호등'**을 한번 떠올려 보세요. 신호등은 어떤 색깔을 가질 수 있나요? 보통 **빨간불, 노란불, 초록불** 중 하나죠? 파란색이나 보라색 신호등은 없잖아요.

 

이렇게 **"미리 정해진 몇 가지 선택지 중 하나만 고를 수 있는 타입"**을 프로그래밍에서는 **열거형(Enum, 이넘)**이라고 불러요.

 

* **열거형(Enum):** 여러 개의 가능한 값들을 하나로 묶어서 이름을 붙여놓은 목록이에요. (Enumeration의 줄임말)

 

---

 

### 2. 열거형 만들기 (정의하기)

Rust에게 "신호등에는 이런 색깔들이 있어!"라고 알려주는 코드를 짜볼까요?

 

enum TrafficLight {
    Red,    // 빨간불이라는 선택지(Variant)를 만들어요.
    Yellow, // 노란불이라는 선택지를 만들어요.
    Green,  // 초록불이라는 선택지를 만들어요.
}

 

* **선택지(Variant, 배리언트):** 열거형 안에 들어있는 각각의 항목들을 말해요.

 

---

 

### 3. 열거형 사용하기 (꺼내 쓰기)

 

이제 정의한 신호등 중에서 하나를 골라 변수에 담아볼게요. `::`이라는 기호를 사용해서 "신호등의 빨간불"처럼 구체적으로 지정해줍니다.

 

fn main() {
    // 'current_light'라는 변수에 '신호등' 중 '빨간불'을 저장해요.
    let current_light = TrafficLight::Red; 
    
    // 'next_light'라는 변수에 '신호등' 중 '초록불'을 저장해요.
    let next_light = TrafficLight::Green;
}

 

---

### 4. 열거형을 왜 쓰나요? (안전성)

 

열거형을 쓰면 좋은 점은 **'실수를 방지'**할 수 있다는 거예요.

 

만약 그냥 글자(String)로 신호등을 표현한다면, 누군가 실수로 `"Blue"`나 `"Purple"`이라고 적을 수도 있겠죠? 하지만 열거형을 사용하면 딱 정해진 `Red`, `Yellow`, `Green`만 쓸 수 있게 Rust가 꼼꼼하게 체크해준답니다.

 

* **타입 안정성(Type Safety):** 프로그램이 정해진 규칙대로만 작동하도록 컴퓨터가 미리 검사해주는 성질이에요.

 

---

### 💡 오늘의 응원!

 

처음에는 `enum`이라는 단어가 낯설 수 있지만, **"선택지 메뉴판을 만드는 것"**이라고 생각하면 훨씬 쉬워질 거예요. Rust는 여러분이 실수하지 않도록 도와주는 친절한 가이드랍니다.

반응형

관련글 더보기