[Rust] Sized ํธ๋ ์
Sized๋ ๋จ์ด ๊ทธ๋๋ก ์ฌ์ด์ฆ๋ฅผ ๊ด๋ฆฌํ๋ ํน์ํ ํธ๋ ์์ด๋ค.
๋ง์ฝ Sized ํธ๋ ์์ ๋ง์กฑํ๋ค๊ณ ํ๋ฉด, ๊ทธ ํ์ ์ ์ปดํ์ผํ์์ ํฌ๊ธฐ๋ฅผ ์ ์ ์๋ ํ์ ์ด๋ค!
๊ทธ๋์ ์ผ๋ฐ์ ์ธ ๊ธฐ๋ณธ ํ์ ๋ค์ ์ ๋ถ Sized๋ฅผ ๊ตฌํํ๊ณ , ํ์ ์ ๋ฐ์ด๋๋ฅผ ๊ฑธ๋๋ผ๋ ์ ๋ถ Sized๊ฐ ์์์ ์ผ๋ก ๋ค์ด๊ฐ๋ค.
์๋ ์ฝ๋๋ T: Sized๋ฅผ ๋ช
์์ ์ผ๋ก ํด๋์ง๋ง, ์๋ตํด๋ ๊ฒฐ๊ณผ๋ ๊ฐ๋ค.


๊ทธ๋ฅ i32์ ๊ด์ฐฎ์ง๋ง [i32]๋ ์๋๋ผ๋ ๊ฒ์ด๋ค.
[i32]์ ์ ์ด์ ๊ธธ์ด๋ฅผ ์ ์ ์๊ธฐ ๋๋ฌธ์, ์ปดํ์ผํ์์ ๊ทธ ํฌ๊ธฐ๋ฅผ ์ ์ ์๊ธฐ ๋ฐ๋ฌธ์ด๋ค.
๋ ์ฐธ์กฐ๋ฅผ ๋ถ์ด์ง ์์ ํธ๋ ์ ํ์
๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ๊ตฌํ์ฒด๊ฐ ํ๋๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ํฌ๊ธฐ๋ฅผ ์ ์๊ฐ ์๋ค.
์ด๋ฐ ๊ฐ๋ณํฌ๊ธฐ์ ํ์
์ Sized๊ฐ ์๋ ?Sized๋ก ํ์๋ฅผ ํด์ผํ๋ค. ?Sized๋ ํฌ๊ธฐ๋ฅผ ์์ ์๋ ์๋ ๋ค ๋ฐ์์ฃผ๋ ์น๊ตฌ๋ค.

๋์ถฉ ์ด๋ ๋ค.
Box
ํธ๋ ์ ์ค๋ธ์ ํธ ์์ฑ ๊ธ์ง
๊ทธ๋ฐ๋ฐ Sized๋ฅผ ํธ๋ ์์ ์์์ ์ํค๋ฉด ์กฐ๊ธ ๋ค๋ฅธ ์ฉ๋ฒ์ด ๋๋ค.

์์ ๊ฐ์ด ํด๋น ํธ๋ ์์ผ๋ก ํธ๋ ์ ์ค๋ธ์ ํธ๋ฅผ ๋ง๋ค ์๊ฐ ์๊ฒ ๋๋ ๊ฒ์ด๋ค.

๋๊ฒ ๋ญ๋ผ๊ทธ๋ฐ๋ค.
์ฐธ์กฐ
https://stackoverflow.com/questions/30938499/why-is-the-sized-bound-necessary-in-this-trait
http://huonw.github.io/blog/2015/01/the-sized-trait/