함수와 제어 흐름
함수를 정의하고 `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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 변수, 변경 가능성, 섀도잉
- 기본 자료형과 연산자
- 함수와 제어 흐름