0Pricing
Learn Rust Coding · 강의

복합 타입

튜플과 배열

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

복합 타입이란 무엇인가요

복합 타입은 여러 값을 하나로 묶습니다. Rust에는 두 가지 기본 복합 타입이 있습니다.

  • 튜플 — 서로 다른 타입일 수 있는 값들을 고정된 크기로 묶은 것
  • 배열 — 같은 타입의 값들을 고정된 크기로 묶은 것
fn main() {
    let tup = (1, 2.0, 'c');
    let arr = [10, 20, 30];
    println!("{} {}", tup.0, arr[0]);
}

튜플 만들기

튜플은 괄호 안에 값을 묶어 넣습니다. 각 요소의 타입은 서로 달라도 됩니다.

튜플의 타입은 요소 타입들을 조합한 것입니다.

fn main() {
    let person: (&str, u32, f64) = ("Alice", 30, 5.6);
    println!("{} is {} years old", person.0, person.1);
}

튜플 요소에 접근하기

점과 인덱스를 사용해 튜플 요소에 접근하며, 인덱스는 0부터 시작합니다.

  • tup.0은 첫 번째 요소입니다.
  • tup.1은 두 번째 요소입니다.
fn main() {
    let point = (3, 7);
    let x = point.0;
    let y = point.1;
    println!("x={} y={}", x, y);
}

튜플 구조 분해하기

한 번의 작업으로 튜플을 여러 변수로 나눌 수 있습니다. 이를 구조 분해라고 합니다.

fn main() {
    let coords = (1.5, 2.5, 3.5);
    let (a, b, c) = coords;
    println!("{} {} {}", a, b, c);
}

유닛 타입

빈 튜플 ()을 유닛 타입이라고 합니다. 이는 '의미 있는 값이 없음'을 나타냅니다.

아무것도 반환하지 않는 함수는 실제로 ()을 반환합니다.

fn main() {
    let nothing = ();
    println!("unit value is {:?}", nothing);
}

배열 만들기

배열은 같은 타입의 여러 값을 고정된 길이로 저장하며, 대괄호로 작성합니다.

배열의 타입은 [type; length]입니다.

fn main() {
    let days: [&str; 3] = ["Mon", "Tue", "Wed"];
    let numbers = [1, 2, 3, 4, 5];
    println!("{} {}", days[1], numbers[4]);
}

배열 인덱싱

대괄호와 0부터 시작하는 인덱스를 사용해 배열 요소에 접근합니다.

범위를 벗어난 인덱스에 접근하면 실행 중 패닉이 발생합니다. Rust는 안전을 위해 범위를 검사합니다.

fn main() {
    let colors = ["red", "green", "blue"];
    println!("first {}", colors[0]);
    println!("last {}", colors[2]);
}

초기값 반복하기

배열을 같은 값으로 채우려면 [value; count]를 사용합니다.

그러면 모든 요소가 value와 같은 count개의 요소를 가진 배열이 만들어집니다.

fn main() {
    let zeros = [0; 5];
    println!("{:?}", zeros);
    println!("length is {}", zeros.len());
}

배열 길이

.len() 메서드는 배열의 요소 개수를 반환합니다. 길이는 컴파일 시점에 고정됩니다.

크기를 늘릴 수 있는 목록이 필요하다면 대신 Vec을 사용합니다.

fn main() {
    let scores = [88, 92, 75, 100];
    println!("there are {} scores", scores.len());
}

배열 순회하기

for 반복문을 사용해 배열의 각 요소를 순서대로 확인합니다.

fn main() {
    let nums = [2, 4, 6, 8];
    let mut sum = 0;
    for n in nums {
        sum += n;
    }
    println!("sum = {}", sum);
}

튜플과 배열 비교

각각 다음과 같은 경우에 사용합니다.

  • 좌표와 label처럼 서로 다른 타입을 고정된 묶음으로 다룰 때는 튜플을 사용합니다.
  • 점수 목록처럼 같은 타입을 고정된 묶음으로 다룰 때는 배열을 사용합니다.
fn main() {
    let record = ("Bob", [90, 85, 95]);
    println!("{} first score {}", record.0, (record.1)[0]);
}

빠른 확인

Rust 복합 타입에 대한 올바른 설명을 선택하세요.

복습

Rust의 복합 타입은 다음과 같습니다.

  • 튜플 — (a, b, c)와 같이 서로 다른 타입을 담으며, .0으로 접근하고 구조 분해할 수 있습니다.
  • 배열 — [a, b, c]와 같이 같은 타입을 담고 길이가 고정되며, [index]로 접근합니다.
  • ()은 유닛 타입입니다.
fn main() {
    let (name, scores) = ("Cara", [70, 80, 90]);
    let mut total = 0;
    for s in scores {
        total += s;
    }
    println!("{} total {}", name, total);
}

자주 묻는 질문

“복합 타입” 강의는 무료인가요?

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

“복합 타입”에서 뭘 배우나요?

튜플과 배열 브라우저에서 직접 실행하는 실습 코드로 Learn Rust Coding을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

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

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

“복합 타입” 강의는 얼마나 걸리나요?

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

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

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

이 강의의 모든 강의

  1. let과 가변성
  2. 스칼라 타입
  3. 복합 타입
  4. 셰도잉
← Learn Rust Coding(으)로 돌아가기