상세 컨텐츠

본문 제목

35. 매치(match) 연산자 기초

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

by 러스트코리아 2026. 8. 21. 22:04

본문

반응형

 

안녕하세요! 러스트(Rust)라는 새로운 언어의 세계에 오신 것을 환영합니다. 지금까지 변수나 숫자를 배우느라 고생 많으셨어요. 오늘은 러스트의 꽃이라고 불리는 아주 똑똑하고 친절한 도구, **'매치(match) 연산자'**에 대해 배워볼게요!

 

---

### 1. 매치(match)는 '똑똑한 자판기'예요! 🤖

 

여러분, 길거리에 있는 **자판기**를 떠올려 보세요.

- 500원을 넣으면 **생수**가 나옵니다.

- 1,000원을 넣으면 **콜라**가 나옵니다.

- 그 외에 이상한 장난감 동전을 넣으면 **"반환"** 버튼에 불이 들어오며 돌려줍니다.

 

**매치(match) 연산자**는 바로 이 자판기와 똑같아요! 어떤 값(동전)이 들어오느냐에 따라 미리 정해둔 결과(음료수)를 정확하게 내놓는 아주 꼼꼼한 친구랍니다.

 

---

### 2. 왜 매치(match)를 쓰나요?

 

우리는 상황에 따라 다른 행동을 하고 싶을 때가 있어요. "만약(if) 이렇다면~" 하고 물어볼 수도 있지만, 선택지가 너무 많으면 헷갈릴 수 있죠. 매치 연산자는 **패턴(Pattern: 비교할 모양이나 값)**을 미리 정해두고, 값이 그 패턴에 딱 맞을 때 실행되기 때문에 코드가 아주 깔끔하고 읽기 편해져요.

---

### 3. 아주 쉬운 코드 예제

 

💻 자, 숫자를 넣으면 그 숫자를 한국어로 읽어주는 '숫자 통역 자판기'를 만들어 볼까요?

 

fn main() {
    let number = 2; // 우리가 자판기에 넣을 숫자예요.

    match number { // number가 어떤 모양인지 확인해볼까요?
        1 => println!("하나!"), // 숫자가 1이면 "하나!"를 출력해요.
        2 => println!("둘!"),   // 숫자가 2이면 "둘!"을 출력해요.
        3 => println!("셋!"),   // 숫자가 3이면 "셋!"을 출력해요.
        _ => println!("많은 숫자!"), // 그 외(언더바) 나머지 숫자는 모두 여기로 와요.
    }
}

 

---

### 4. 코드 속의 비밀 풀이 (용어 설명)

* **매치 암(Match Arm: 매치의 팔):** 위 코드에서 `1 => ...` 처럼 한 줄 한 줄을 '팔'이라고 불러요. 자판기에서 선택할 수 있는 버튼 하나하나라고 생각하면 쉬워요.

* **패턴(Pattern):** `=>` 기호 왼쪽에 있는 `1`, `2`, `3` 같은 값들이에요. 들어온 값이 이 모양과 똑같은지 검사하는 기준이 됩니다.

* **언더바(`_`):** 이건 **'와일드카드(Wildcard: 무엇이든 될 수 있는 만능 카드)'**라고 불러요. 1, 2, 3 이외의 모든 숫자가 들어왔을 때 "나머지는 다 내가 처리할게!"라고 손을 드는 아주 든든한 친구예요.

 

---

### 5. 러스트의 다정한 약속: "하나도 빠뜨리면 안 돼요!"

 

러스트는 아주 꼼꼼한 성격이에요. 매치 연산자를 쓸 때, 발생할 수 있는 **모든 경우의 수**를 다 적어주지 않으면 컴파일러(Compiler: 코드가 잘 짜였는지 검사해주는 로봇 선생님)가 "잠깐! 다른 숫자가 들어오면 어떡해?"라며 친절하게 알려준답니다. 그래서 마지막에 `_`를 써서 나머지 경우를 꼭 챙겨주는 게 중요해요.

반응형

관련글 더보기