본문 바로가기
 

하나성경

읽기 쉬운 성경, 하나성경을 소개합니다.

www.hbible.co.kr

컴퓨터에서는

[ Rust ] 초급 문법 : 14. 열거형 (enum) – 여러 개의 값 중 하나를 가질 수 있는 타입

by 컴 여행자 2025. 5. 9.
728x90
반응형

 

러스트
러스트

 

 

 

초급 문법 : 14. 열거형 (enum) – 여러 개의 값 중 하나를 가질 수 있는 타입

 

 


🔶 1단계: 열거형(enum)이란 무엇인가요?

열거형 (enum)여러 가지 경우 중 하나를 선택할 수 있는 타입입니다.
예를 들어, 사과(Apple), 바나나(Banana), 오렌지(Orange) 중 하나를 고를 수 있는 과일 타입이 있다고 생각해보세요.

이런 여러 선택지 중 하나를 표현할 때 enum을 사용합니다.

 


🔶 2단계: 아주 간단한 예제 설명

enum Fruit {
    Apple,
    Banana,
    Orange,
}

 

이 코드는 Fruit이라는 열거형(enum)을 정의한 것입니다.
이 열거형은 3가지 값 중 하나만 가질 수 있습니다:

  • Fruit::Apple
  • Fruit::Banana
  • Fruit::Orange

 


🔶 3단계: VS Code로 실행하기 (Windows)

코드를 작성하고 실행해 봅시다.

 

VS Code에서 Rust 파일 생성

 

1️⃣ 터미널 열기

  • VS Code를 실행하고, Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.
  • 또는 메뉴에서 [터미널] → [새 터미널] 선택하세요.
  • 터미널이 이미 열려 있으면, 열려 있는 터미널을 이용하세요.

2️⃣ 새 Rust 프로젝트 생성

  • 새로운 Rust 프로젝트를 만들 폴더로 이동 (예: C:\RustProjects)
cd C:\RustProjects

 

  • 터미널에 아래 명령을 입력하고 Enter 키를 누릅니다.
  • rust_enum 이라는 폴더가 생성됩니다.
cargo new rust_enum

 

 

3️⃣ 프로젝트 열기

  • VS Code에서 [파일] → [폴더 열기] 선택 후 rust_enum 폴더를 엽니다.

4️⃣ 메인 파일 열기

  • 왼쪽 src 폴더에서 main.rs 파일을 클릭하여 엽니다.

 


🔶 4단계: 실제 예제 코드 작성 및 설명

✔ 전체 코드 (예: main.rs)

// 열거형 정의
enum Fruit {
    Apple,
    Banana,
    Orange,
}

// main 함수 시작
fn main() {
    // 변수 my_fruit에 Fruit 열거형 중 하나를 저장
    let my_fruit = Fruit::Banana;

    // match 문법을 사용해서 열거형 값에 따라 다른 동작
    match my_fruit {
        Fruit::Apple => println!("You selected Apple."),
        Fruit::Banana => println!("You selected Banana."),
        Fruit::Orange => println!("You selected Orange."),
    }
}

🔶 5단계: 코드 설명 (한 줄씩 자세히)

 

코드 설명
enum Fruit { ... } Fruit라는 열거형 타입을 새로 정의합니다. 선택지는 Apple, Banana, Orange입니다.
fn main() { ... } 프로그램이 시작되는 main 함수입니다.
let my_fruit = Fruit::Banana; my_fruit라는 변수에 Fruit 중에서 Banana를 저장합니다.
match my_fruit { ... } match를 사용하여 my_fruit이 어떤 값인지 검사하고, 그에 맞는 메시지를 출력합니다.
println!(...) 콘솔에 글자를 출력하는 명령입니다.

 

 


🔶 6단계: 코드 실행하기

 Ctrl + S를 눌러 파일을 저장합니다. (또는 메뉴 -> 파일 -> 저장)

Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.

 

  • 터미널에서 실행:
cargo run

 

▶ 실행 결과

You selected Banana.

 

🎉 잘 되셨나요? 성공하셨으면 열거형을 제대로 이해하신 것입니다!


🔶 7단계: 조금 더 확장된 예제 (값을 함께 저장하는 enum)

enum은 값도 함께 저장할 수 있어요.

enum Message {
    Quit,
    Move { x: i32, y: i32 },
    Write(String),
}

fn main() {
    let msg = Message::Move { x: 10, y: 20 };

    match msg {
        Message::Quit => println!("Quit message"),
        Message::Move { x, y } => println!("Move to ({}, {})", x, y),
        Message::Write(text) => println!("Text: {}", text),
    }
}

 

이런 식으로 enum 내부에 구조체처럼 데이터를 포함할 수도 있습니다.


🔶 요약

개념 설명
enum 여러 개 중 하나를 선택할 수 있는 타입
match enum 값을 검사하고, 어떤 값인지에 따라 동작을 바꾸는 문법
사용 예 과일, 메시지 타입, 상태 등을 나타낼 때

 

이상으로 enum에 대해 알아보았습니다.

 

 


 

러스트 프로그래밍 언어 관련 글 목록입니다.

 

[ Rust ] 러스트 프로그래밍 언어 관련 글 목록입니다.

러스트 컴퓨터 프로그래밍 언어를 아이들에게 알려주기 위해 글을 작성하고 있습니다.가능한 쉽고 자세하게 그리고 잘 따라할 수 있도록 작성해 보려고 합니다.글이 작성되는 대로 계속 추가하

hb-love-each-other.tistory.com

 

 


 

https://rust-kr.org/

 

한국 러스트 사용자 그룹

 

rust-kr.org

 

 

https://www.rust-lang.org/

 

Rust Programming Language

A language empowering everyone to build reliable and efficient software.

www.rust-lang.org

 

 

728x90
반응형

댓글