[ Rust ] 초급 문법 : 13. 구조체 (struct) – 사용자 정의 데이터 타입 만들기
구조체는 "나만의 데이터 타입" 을 만드는 기능입니다.
✅ 1단계: 구조체란 무엇인가요?
구조체(struct)는 여러 개의 값을 하나로 묶는 방법입니다.
우리가 이름, 나이, 이메일 같은 정보를 저장하고 싶다면, 각각의 값을 따로따로 저장할 수도 있지만, 이것을 하나의 묶음(구조체) 으로 만들면 더 쉽게 다룰 수 있습니다.
예를 들어 사람을 나타내는 구조체는 이렇게 표현할 수 있습니다:
struct Person {
name: String,
age: u32,
email: String,
}
이것은 "Person"이라는 이름의 구조체입니다.
그 안에 3개의 정보가 들어갑니다:
- name: 이름 (문자열 - String)
- age: 나이 (숫자 - u32)
- email: 이메일 주소 (문자열 - String)
✅ 2단계: VS Code에서 예제 작성하고 실행하기
코드를 작성하고 실행해 봅시다.
VS Code에서 Rust 파일 생성
1️⃣ 터미널 열기
- VS Code를 실행하고, Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.
- 또는 메뉴에서 [터미널] → [새 터미널] 선택하세요.
- 터미널이 이미 열려 있으면, 열려 있는 터미널을 이용하세요.
2️⃣ 새 Rust 프로젝트 생성
- 새로운 Rust 프로젝트를 만들 폴더로 이동 (예: C:\RustProjects)
cd C:\RustProjects
- 터미널에 아래 명령을 입력하고 Enter 키를 누릅니다.
- rust_struct이라는 폴더가 생성됩니다.
cargo new rust_struct
3️⃣ 프로젝트 열기
- VS Code에서 [파일] → [폴더 열기] 선택 후 rust_struct 폴더를 엽니다.
4️⃣ 메인 파일 열기
- 왼쪽 src 폴더에서 main.rs 파일을 클릭하여 엽니다.
✅ 3단계: 구조체 예제 코드 작성
src/main.rs 파일을 다음과 같이 바꿔주세요:
// 구조체 정의하기
struct Person {
name: String,
age: u32,
email: String,
}
fn main() {
// 구조체 사용하기 (값을 채워서 구조체 만들기)
let user1 = Person {
name: String::from("홍길동"),
age: 30,
email: String::from("hong@example.com"),
};
// 구조체 정보 출력하기
println!("이름: {}", user1.name);
println!("나이: {}", user1.age);
println!("이메일: {}", user1.email);
}
✅ 4단계: 프로그램 실행하기
1. Ctrl + S를 눌러 파일을 저장합니다. (또는 메뉴 -> 파일 -> 저장)
Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.
2. 터미널에서 다음 명령을 입력하세요.
cargo run
실행하면 이렇게 나올 거예요:
이름: 홍길동
나이: 30
이메일: hong@example.com
✅ 5단계: 하나씩 설명드릴게요
📌 struct Person { ... }
- struct는 구조체를 만든다는 뜻입니다.
- Person은 구조체의 이름입니다 (사람이라는 뜻).
- { name: String, age: u32, email: String }는 이 구조체가 가질 데이터 항목(필드)입니다.
📌 let user1 = Person { ... };
- 이 줄은 실제 Person 구조체를 만들어 user1이라는 변수에 저장합니다.
- String::from("홍길동")은 문자열을 만드는 방법입니다.
- 나이는 숫자이므로 그냥 30이라고 씁니다.
📌 println!("이름: {}", user1.name);
- 구조체의 값을 출력하려면 .(점)을 사용합니다.
예: user1.name, user1.age, user1.email
✅ 6단계: 연습해 보기
직접 다른 사람 정보를 하나 더 만들어 보세요.
let user2 = Person {
name: String::from("이순신"),
age: 45,
email: String::from("lee@example.com"),
};
println!("이름: {}", user2.name);
println!("나이: {}", user2.age);
println!("이메일: {}", user2.email);
✅ 요약
- 구조체(struct)는 여러 값을 하나로 묶는 방법
- struct 키워드로 정의하고, .으로 값을 읽음
- VS Code에서 cargo run으로 실행하면 결과 확인 가능
이상으로 구조체에 대해 알아보았습니다.
[ Rust ] 러스트 프로그래밍 언어 관련 글 목록입니다.
러스트 컴퓨터 프로그래밍 언어를 아이들에게 알려주기 위해 글을 작성하고 있습니다.가능한 쉽고 자세하게 그리고 잘 따라할 수 있도록 작성해 보려고 합니다.글이 작성되는 대로 계속 추가하
hb-love-each-other.tistory.com
한국 러스트 사용자 그룹
rust-kr.org
Rust Programming Language
A language empowering everyone to build reliable and efficient software.
www.rust-lang.org
'컴퓨터에서는' 카테고리의 다른 글
[ Rust ] 초급 문법 : 15. 옵션 타입 (Option<T>) – 값이 있을 수도 있고 없을 수도 있는 타입 (0) | 2025.05.10 |
---|---|
[ Rust ] 초급 문법 : 14. 열거형 (enum) – 여러 개의 값 중 하나를 가질 수 있는 타입 (4) | 2025.05.09 |
[ Rust ] 초급 문법 : 12. 튜플 (tuple) – 여러 개의 값을 묶어서 다루는 구조 (0) | 2025.05.06 |
[ Rust ] 초급 문법 : 11. 배열과 슬라이스 – 배열과 슬라이스 데이터 다루기 (0) | 2025.04.28 |
[ Rust ] 초급 문법 : 10. 사용자 입력과 출력 (println!, std::io) – 화면에 출력하고 입력 받기 (0) | 2025.04.25 |
댓글