스칼라 타입
정수, 부동 소수점 수, 불리언, 문자
스칼라 타입은(는) CoddyKit의 무료 Learn Rust Coding 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn Rust Coding 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn Rust Coding 강의에는 총 4개의 강의가 포함되어 있습니다.
스칼라 타입이란 무엇인가요?
스칼라 타입은 하나의 값을 나타냅니다. Rust에는 네 가지 기본 스칼라 타입이 있습니다.
- 정수
- 부동 소수점 수
- 불리언
- 문자
fn main() {
let i = 10; // integer
let f = 2.5; // float
let b = true; // bool
let c = 'R'; // char
println!("{} {} {} {}", i, f, b, c);
}정수 타입
정수에는 고정된 크기를 가진 부호 있는(i) 변형과 부호 없는(u) 변형이 있습니다. 예를 들어 i8, i16, i32, i64, i128이 있으며, u에도 같은 크기의 타입이 있습니다.
기본 정수 타입은 i32입니다.
fn main() {
let small: i8 = -120;
let big: u64 = 18_000_000_000;
println!("{} {}", small, big);
}부호 있는 정수와 부호 없는 정수
부호 있는 정수는 음수가 될 수 있지만 부호 없는 정수는 음수가 될 수 없습니다.
i8의 범위는 -128부터 127까지입니다.u8의 범위는 0부터 255까지입니다.
개수처럼 값이 절대로 음수가 될 수 없는 경우에는 부호 없는 타입을 선택하세요.
fn main() {
let temperature: i32 = -15;
let people: u32 = 250;
println!("temp {} people {}", temperature, people);
}정수 리터럴
정수를 여러 진법으로 작성할 수 있으며, 가독성을 위해 밑줄을 사용할 수도 있습니다.
- 십진수:
1_000_000 - 16진수:
0xff - 8진수:
0o77 - 2진수:
0b1010
fn main() {
let dec = 1_000;
let hex = 0xff;
let bin = 0b1010;
println!("{} {} {}", dec, hex, bin);
}부동 소수점 타입
Rust에는 부동 소수점 타입이 f32와 f64, 두 가지 있습니다. 더 높은 정밀도를 제공하기 때문에 기본값은 f64입니다.
부동 소수점 수는 IEEE-754 표준을 따릅니다.
fn main() {
let pi: f64 = 3.141592;
let e: f32 = 2.718;
println!("pi {} e {}", pi, e);
}수치 연산
Rust는 일반적인 수학 연산자 +, -, *, /, %(나머지)를 지원합니다.
정수 나눗셈은 0을 향해 버림합니다.
fn main() {
let sum = 5 + 10;
let quotient = 7 / 2; // 3 (integer)
let remainder = 7 % 2; // 1
let float_div = 7.0 / 2.0; // 3.5
println!("{} {} {} {}", sum, quotient, remainder, float_div);
}불리언 타입
bool 타입에는 정확히 두 값, true와 false가 있습니다.
불리언 값은 비교를 통해 만들어지며 if 조건에서 사용됩니다.
fn main() {
let is_active = true;
let is_bigger = 10 > 3;
println!("{} {}", is_active, is_bigger);
}문자 타입
char는 하나의 유니코드 스칼라 값을 나타내며 작은따옴표로 작성합니다.
Rust의 char는 4바이트이며 ASCII를 훨씬 뛰어넘는 값을 저장할 수 있습니다. 이모지와 악센트가 있는 문자도 포함됩니다.
fn main() {
let letter = 'A';
let symbol = '@';
let heart = '\u{2764}';
println!("{} {} {}", letter, symbol, heart);
}char와 String 비교
작은따옴표는 char를 만들고, 큰따옴표는 문자열 슬라이스(&str)를 만듭니다.
'a'는 문자 하나입니다."a"는 문자 하나로 이루어진 문자열입니다.
fn main() {
let c = 'x';
let s = "x";
println!("char {} string {}", c, s);
}as를 사용한 타입 변환
Rust는 수치 타입을 자동으로 변환하지 않습니다. 명시적으로 캐스팅하려면 as 키워드를 사용합니다.
주의해야 합니다. 더 작은 타입으로 캐스팅하면 데이터가 손실될 수 있습니다.
fn main() {
let x: i32 = 65;
let y: f64 = x as f64;
let c = x as u8 as char;
println!("{} {} {}", x, y, c);
}스칼라 타입 조합하기
프로그램에서는 스칼라 타입을 끊임없이 조합합니다. 여기서는 정수, 부동 소수점 수, 불리언 값을 섞어 결정을 내립니다.
fn main() {
let price: f64 = 19.99;
let quantity: u32 = 3;
let total = price * quantity as f64;
let is_expensive = total > 50.0;
println!("total {} expensive {}", total, is_expensive);
}빠른 확인
Rust의 스칼라 리터럴에 대한 지식을 확인해 보세요.
복습
Rust의 네 가지 스칼라 타입은 다음과 같습니다.
- 정수 — 부호 있는 정수(i32)와 부호 없는 정수(u32), 그리고 다양한 크기
- 부동 소수점 수 — f32와 f64, 기본값은 f64
- bool — true 또는 false
- char — 작은따옴표로 작성하는 하나의 유니코드 값
명시적인 수치 변환에는 as를 사용합니다.
fn main() {
let count: u32 = 42;
let ratio: f64 = count as f64 / 7.0;
let ok: bool = ratio > 5.0;
let grade: char = 'B';
println!("{} {} {} {}", count, ratio, ok, grade);
}자주 묻는 질문
“스칼라 타입” 강의는 무료인가요?
네 — “스칼라 타입” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 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개 중 2번째 강의입니다.
“스칼라 타입” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Learn Rust Coding 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Learn Rust Coding 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.