벡터란 무엇인가요?
Coddy Rust 여정의 Logic & Flow 섹션에 포함된 레슨 — 66개 중 7번째.
Rust에서는 데이터를 저장하는 두 가지 주요 방법인 배열(arrays)과 벡터(vectors)가 있습니다. 배열은 컴파일 타임에 미리 알 수 있는 고정된 크기를 갖는 반면, 벡터는 프로그램 실행 중에 크기가 늘어나거나 줄어들 수 있는 동적 컬렉션입니다.
Vec<T>라고 표기되는 벡터는 Rust의 확장 가능한 배열 타입입니다. T는 벡터가 담을 요소의 타입을 나타냅니다. 예를 들어, 정수의 경우 Vec<i32>, 문자열의 경우 Vec<String>이 됩니다. 미리 정확한 요소의 개수를 지정해야 하는 배열과 달리, 벡터는 비어 있는 상태로 시작할 수 있으며 프로그램이 실행되는 동안 요소를 추가하거나 제거할 수 있습니다.
배열 대신 벡터를 선택해야 하는 경우는 다음과 같습니다:
// 배열 - 고정된 크기, 컴파일 타임에 결정됨
let scores = [85, 92, 78, 90]; // 항상 정확히 4개의 요소
// 벡터 - 동적 크기, 런타임 중에 변경 가능
let mut grades = Vec::new(); // 비어 있는 상태로 시작하며, 크기가 늘어날 수 있음벡터는 사용자 입력을 저장하거나, 파일에서 데이터를 읽거나, 프로그램 로직에 따라 변하는 리스트를 구축하는 것과 같이 사전에 얼마나 많은 항목이 필요할지 모를 때 사용하기에 완벽합니다. 벡터는 요소에 대한 효율적인 접근을 유지하면서도 배열이 제공할 수 없는 유연성을 제공합니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
치트 시트
벡터(Vec<T>)는 컴파일 타임에 크기가 고정되는 배열과 달리, 프로그램 실행 중에 크기가 늘어나거나 줄어들 수 있는 동적 컬렉션입니다.
T는 벡터가 담을 요소의 타입을 나타냅니다:
Vec<i32> // 정수형 벡터
Vec<String> // 문자열 벡터벡터 생성하기:
let mut grades = Vec::new(); // 비어 있는 상태로 시작하며, 크기가 늘어날 수 있음배열과의 비교:
// 배열 - 고정된 크기
let scores = [85, 92, 78, 90]; // 항상 정확히 4개의 요소
// 벡터 - 동적 크기
let mut grades = Vec::new(); // 런타임 중에 변경될 수 있음사용자 입력을 저장하거나, 파일에서 데이터를 읽거나, 프로그램 로직에 따라 변하는 리스트를 만드는 경우와 같이 필요한 항목의 수를 미리 알 수 없을 때 벡터를 사용하세요.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.