0Pricing
Learn Rust Coding · 강의

함수와 제어 흐름

함수를 정의하고 `if`/`else`, `loop`, `while`, `for` 표현식을 사용해 프로그램 실행 흐름을 제어하는 방법을 배웁니다.

함수와 제어 흐름은(는) CoddyKit의 무료 Learn Rust Coding 강의입니다. 이것은 3개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn Rust Coding 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn Rust Coding 강의에는 총 3개의 강의가 포함되어 있습니다.

함수란 무엇인가요?

함수는 특정 작업을 수행하는 이름이 지정된 코드 블록입니다. 코드를 구성하고 재사용할 수 있게 해 주는 fundamental한 요소입니다.

  • 코드 재사용성: 논리를 한 번 작성한 뒤 여러 번 사용할 수 있습니다.
  • 모듈화: 복잡한 문제를 더 작고 관리하기 쉬운 부분으로 나눌 수 있습니다.
  • 가독성: 코드 블록에 의미 있는 이름을 지정하여 이해하기 쉽게 만들 수 있습니다.

첫 번째 Rust 함수

Rust에서는 fn 키워드를 사용해 함수를 정의합니다. main 함수는 모든 Rust 프로그램의 시작점입니다.

간단한 함수를 선언하고 호출하는 방법은 다음과 같습니다.

fn say_hello() {
    println!("Hello from a function!");
}

fn main() {
    say_hello(); // Call the function
    println!("Back in main.");
}

매개변수를 사용하는 함수

함수는 매개변수라는 입력값을 받을 수 있습니다. 이를 통해 함수가 호출될 때마다 서로 다른 데이터를 처리할 수 있습니다.

매개변수는 이름과 타입을 콜론으로 구분하여 정의합니다.

fn greet(name: &str) {
    println!("Hello, {}!", name);
}

fn main() {
    greet("Alice");
    greet("Bob");
}

반환값이 있는 함수

함수는 호출한 쪽에 값을 반환할 수도 있습니다. 반환 타입은 화살표(->) 뒤에 지정합니다.

함수 본문의 마지막 표현식은 암묵적으로 반환됩니다. 반환하는 표현식 뒤에는 세미콜론이 필요하지 않습니다!

fn add_numbers(x: i32, y: i32) -> i32 {
    x + y // No semicolon: this expression is returned
}

fn main() {
    let sum = add_numbers(5, 7);
    println!("The sum is: {}", sum);
}

판단 내리기: `if`/`else`

if 표현식을 사용하면 조건에 따라 프로그램이 서로 다른 코드 블록을 실행하게 할 수 있습니다. 조건은 항상 bool(true/false)이어야 합니다.

  • 첫 번째 조건에는 if를 사용합니다.
  • 추가 조건에는 else if를 사용합니다.
  • 다른 조건이 충족되지 않았을 때의 대체 경로에는 else를 사용합니다.

Rust의 if는 표현식이므로 값을 반환할 수 있습니다!

If-Else 표현식 사용해 보기

조건에 따라 값을 할당할 때 if와 else를 사용하는 방법은 다음과 같습니다. 다른 언어의 삼항 연산자처럼 동작하는 방식에 주목하세요.

fn main() {
    let number = 7;

    let message = if number < 10 {
        "Small number"
    } else {
        "Large number"
    };

    println!("The number is: {}", message);

    let other_num = 15;
    if other_num % 2 == 0 {
        println!("{} is even", other_num);
    } else {
        println!("{} is odd", other_num);
    }
}

코드 반복하기: `loop`

loop 키워드는 무한 루프를 만듭니다. 명시적으로 중지하기로 결정할 때까지 작업을 반복해야 할 때 유용합니다.

break를 사용해 루프를 종료합니다. break를 사용하면 loop 표현식에서 값을 반환할 수도 있습니다.

fn main() {
    let mut counter = 0;

    let result = loop {
        counter += 1;

        if counter == 10 {
            break counter * 2; // Break and return a value
        }
    };

    println!("The result is {}", result);
}

조건에 따른 반복: `while`

while 루프는 지정한 조건이 true인 동안 코드 블록을 실행합니다. 정확히 몇 번 반복해야 할지 모를 때 사용하기 좋습니다.

fn main() {
    let mut count = 3;

    while count != 0 {
        println!("{}!", count);
        count -= 1;
    }

    println!("LIFTOFF!!!");
}

`for` 루프로 반복하기

for 루프는 항목 모음이나 숫자 범위의 각 요소를 차례로 처리할 때 사용합니다. Rust에서 가장 일반적인 반복 구문으로, 코드를 안전하고 간결하게 작성할 수 있게 해 줍니다.

  • 범위와 함께 자주 사용합니다(예: 1, 2, 3을 나타내는 1..4 또는 1, 2, 3, 4를 나타내는 1..=4).
  • Iterator 특성을 구현하는 모든 타입과 함께 사용할 수 있습니다.
fn main() {
    // Loop through a range
    for number in 1..4 { // 1, 2, 3
        println!("Number: {}", number);
    }

    // Loop through an array
    let a = [10, 20, 30, 40, 50];
    for element in a.iter() {
        println!("The value is: {}", element);
    }
}

제어 흐름 도전 과제

다음 Rust 코드를 살펴보세요. result의 최종 값은 무엇일까요?

fn calculate_value(input: i32) -> i32 {
    if input > 10 {
        input * 2
    } else if input == 5 {
        input + 5
    } else {
        input
    }
}

fn main() {
    let result = calculate_value(5);
    // What is result?
}

함수와 제어 흐름 복습

동적인 프로그램을 만들기 위한 기본 요소를 익히셨습니다!

  • 함수: fn, 매개변수, 반환값을 사용해 코드를 구성하고 재사용합니다.
  • if/else: 판단을 내리고 조건에 따라 코드를 실행합니다. 표현식이라는 점을 기억하세요!
  • loop: 무한 루프를 만들고, break로 종료하며, 값을 반환합니다.
  • while: 조건이 true인 동안 반복합니다.
  • for: 모음과 범위의 요소를 안전하게 차례로 처리합니다.

이러한 도구는 구조적이고 효율적인 Rust 프로그램을 작성하는 데 필수적입니다!

자주 묻는 질문

“함수와 제어 흐름” 강의는 무료인가요?

네 — “함수와 제어 흐름” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn Rust Coding 강의 전체를 잠금 해제할 수 있습니다. Learn Rust Coding 강의에는 총 3개의 강의가 포함되어 있습니다.

“함수와 제어 흐름”에서 뭘 배우나요?

함수를 정의하고 `if`/`else`, `loop`, `while`, `for` 표현식을 사용해 프로그램 실행 흐름을 제어하는 방법을 배웁니다. 브라우저에서 직접 실행하는 실습 코드로 Learn Rust Coding을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Learn Rust Coding을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Learn Rust Coding은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 3번째 강의입니다.

“함수와 제어 흐름” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Learn Rust Coding 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Learn Rust Coding 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 변수, 변경 가능성, 섀도잉
  2. 기본 자료형과 연산자
  3. 함수와 제어 흐름
← Learn Rust Coding(으)로 돌아가기