Variable
let
๊ธฐ๋ณธ์ ์ผ๋ก ๋ณ์๋ let ์ผ๋ก ์ ์ธํ๊ณ ๋ถ๋ณ์ด๋ฉฐ, mut์ผ๋ก ๊ฐ๋ณ์ผ๋ก ์ ์ธํ ์ ์์ต๋๋ค
const
์์๋ ๋ถ๋ณ์ฑ์ ๋๊ณ mut์ด ํ์ฉ๋์ง ์์ต๋๋ค
Shadowing
๊ฐ์ ์ด๋ฆ์ ๋ณ์๋ฅผ ์ ์ธํ ์ ์๊ณ ๊ฐ์ ๋ฎ์ด์์์ง๋๋ค.
Type
Rust๋ ์ ์ ํ์ ์ธ์ด๋ก, ์ปดํ์ผ ํ์์ ๋ชจ๋ ๋ณ์์ ํ์ ์ด ๊ฒฐ์ ๋ฉ๋๋ค. Rust์ ๋ฐ์ดํฐ ํ์ ์ ํฌ๊ฒ ๋ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๋๋ฉ๋๋ค
์ค์นผ๋ผ ํ์
์ค์นผ๋ผ ํ์ ์ ํ๋์ ๊ฐ์ผ๋ก ํํ๋๋ ํ์ ์ ๋๋ค. Rust์์๋ 4๊ฐ์ง ๊ธฐ๋ณธ ์ค์นผ๋ผ ํ์ ์ด ์์ต๋๋ค.
a. ์ ์ํ(Integer): ์ ์ํ์ ๋ถํธ ์๋ i8
, i16
, i32
, i64
, i128
๋ฐ ๋ถํธ ์๋ u8
, u16
, u32
, u64
, u128
ํ์
์ด ์์ต๋๋ค.
์ซ์๋ ํฌ๊ธฐ์ ๋ฐ๋ผ ํํ ๋ฒ์๊ฐ ๋ค๋ฆ
๋๋ค.
b. ๋ถ๋ ์์์ (Floating-Point): ๋ถ๋ ์์์ ํ์ ์ ์ค์๋ฅผ ํํํฉ๋๋ค. Rust์์๋ ๋ ๊ฐ์ง ๋ถ๋ ์์์ ํ์ ์ด ์์ต๋๋ค f32์ f64. ์ด ๋ ํ์ ์ ๊ฐ๊ฐ 32๋นํธ์ 64๋นํธ๋ก ํํ๋๋ฉฐ, ๋จ์ ๋์ ๋ฐฐ์ ๋ ๋ถ๋ ์์์ ์ ๋ํ๋ ๋๋ค.
c. ๋ถ๋ฆฌ์ธ(Boolean): ๋ถ๋ฆฌ์ธ ํ์
์ ์ฐธ(true
) ๋๋ ๊ฑฐ์ง(false
)์ ๊ฐ์ ๊ฐ์ต๋๋ค.
๋ถ๋ฆฌ์ธ ํ์
์ bool
๋ก ํํ๋ฉ๋๋ค.
d. ๋ฌธ์(Character): ๋ฌธ์ ํ์
์ ๋จ์ผ ์ ๋์ฝ๋ ์ค์นผ๋ผ ๊ฐ์ ๋ํ๋
๋๋ค.
Rust์ ๋ฌธ์ ํ์
์ char
๋ก ํํ๋๋ฉฐ, ์์ ๋ฐ์ดํ๋ก ๋ฌถ์
๋๋ค.
๋ณตํฉ ํ์
๋ณตํฉ ํ์ ์ ์ฌ๋ฌ ๊ฐ์ ํ๋์ ํ์ ์ผ๋ก ๋ฌถ์ต๋๋ค Rust์์๋ ํํ(tuple)๊ณผ ๋ฐฐ์ด(array)์ด ์ฃผ์ ๋ณตํฉ ํ์ ์ ๋๋ค.
a. ํํ(Tuple): ํํ์ ์ฌ๋ฌ ๊ฐ์ ๊ณ ์ ๋ ๊ธธ์ด์ ์์ ์๋ ๋ชฉ๋ก์
๋๋ค.
๊ฐ ๊ฐ์ ์๋ก ๋ค๋ฅธ ํ์
์ ๊ฐ์ง ์ ์์ต๋๋ค.
ํํ์ ๊ดํธ ()
์ ์ผํ ,
๋ฅผ ์ฌ์ฉํ์ฌ ์ ์๋๋ฉฐ, ํํ์ ์์์ ์ ๊ทผํ๋ ค๋ฉด ์ .
์ ์ฌ์ฉํฉ๋๋ค.
b. ๋ฐฐ์ด(Array): ๋ฐฐ์ด์ ๋์ผํ ํ์
์ ์ฌ๋ฌ ๊ฐ์ ๊ณ ์ ๋ ๊ธธ์ด์ ์์ ์๋ ๋ชฉ๋ก์
๋๋ค
๋ฐฐ์ด์ ๋๊ดํธ []
๋ฅผ ์ฌ์ฉํ์ฌ ์ ์๋๋ฉฐ, ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์์์ ์ ๊ทผํ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์
Rust๋ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์ ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ตฌ์กฐ์ฒด(struct)์ ์ด๊ฑฐํ(enum)์ ๋ ๊ฐ์ง ์ฃผ์ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์ ์ ๋๋ค.
a. ๊ตฌ์กฐ์ฒด(Struct): ๊ตฌ์กฐ์ฒด๋ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์
์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ฌ๋ฌ ํ๋๋ฅผ ๋ฌถ์ด ํ๋์ ํ์
์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค. ๊ตฌ์กฐ์ฒด๋ struct
ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ํฉ๋๋ค.
b. ์ด๊ฑฐํ(Enum): ์ด๊ฑฐํ์ ์๋ก ๋ค๋ฅธ ํ์
์ ์ฌ๋ฌ ๊ฐ ์ค ํ๋๋ฅผ ๊ฐ์ง ์ ์๋ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์
์
๋๋ค. ์ด๊ฑฐํ์ enum
ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์๋๋ฉฐ, ๊ฐ๊ฐ์ ๊ฐ์ ์ด๊ฑฐํ์ ํ ๋ฉค๋ฒ์
๋๋ค.
Rust์ ๋ฐ์ดํฐ ํ์ ์ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์๋ก, ๋ค์ํ ๊ฐ์ ํจ๊ณผ์ ์ผ๋ก ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ ํ์ ์ ์ดํดํ๊ณ ์ฌ์ฉํ๋ฉด ์ฝ๋์ ์์ ์ฑ๊ณผ ๊ฐ๋ ์ฑ์ ๋์ผ ์ ์์ผ๋ฉฐ, Rust์ ๊ฐ๋ ฅํ ํ์ ์์คํ ์ ์ต๋ํ ํ์ฉํ ์ ์์ต๋๋ค. Rust์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ์ธ์๋, ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์ ์ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ์ ํ์ํ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ๋ช ํํ๊ฒ ํ๊ณ , ๊ด๋ฆฌ ๋ฐ ์ ์ง ๋ณด์๊ฐ ์ฌ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค
ํ์
์ถ๋ก
Rust์ ํ์ ์ถ๋ก ์์คํ ์ ์ฝ๋ ์์ฑ์ ๋ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ์ค์ํ ๊ธฐ๋ฅ์ ๋๋ค. ์ปดํ์ผ๋ฌ๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ณ์์ ํ์ ์ ์๋์ผ๋ก ์ถ๋ก ํ ์ ์์ผ๋ฏ๋ก, ๋ณ์๋ฅผ ์ ์ธํ ๋๋ง๋ค ๋ช ์์ ์ผ๋ก ํ์ ์ ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ช ํํ ์ฝ๋๋ฅผ ์์ฑํ๊ฑฐ๋ ์ปดํ์ผ๋ฌ์ ํ์ ์ถ๋ก ์ ๋์์ฃผ๊ธฐ ์ํด ํ์ ์ ๋ช ์์ ์ผ๋ก ์ง์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Rust์ ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ฉด ๋ค์ํ ํ์ ์ ๋์ํ๋ ํจ์๋ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ ๋ค๋ฆญ์ ํ์ ์ ๋ํ ์ผ๋ฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ์ฌ ์ฝ๋์ ์ค๋ณต์ ์ค์ด๊ณ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
Last updated
Was this helpful?