[Rust] ๋ชจ๋“ˆ

๋ชจ๋“ˆ์€ c++/c#์—์„œ์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์™€ ์œ ์‚ฌํ•œ ๊ฐœ๋…์ด๋‹ค.

ํ•˜์ง€๋งŒ ํ•œ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์š”์†Œ๊ฐ€ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ๋ฐ”๋กœ '์ ‘๊ทผ์ œ์–ด' ์ˆ˜์ค€์ด๋‹ค.

๋Ÿฌ์ŠคํŠธ์˜ ๊ตฌ์กฐ์ฒด ์š”์†Œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ณต๊ฐœ๊ฐ€ ๋˜์–ด์žˆ์–ด์„œ ์•„๋ฌด๋‚˜ ์ ‘๊ทผ์„ ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์ด๋Š” ๊ตฌ์กฐ์ƒ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜๊ฐ€ ์žˆ๊ณ ... C๊ฐ€ ๊ฐ–๊ณ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋‹ค.

๊ทธ๋ž˜์„œ ๋Ÿฌ์ŠคํŠธ๋Š” ๋ชจ๋“ˆ-์ด๋ฆ„๊ณต๊ฐ„ ๋‹จ์œ„๋กœ ์ ‘๊ทผ์ œ์–ด๋ฅผ ๊ฑธ์–ด๋ฒ„๋ฆฐ๋‹ค.

์ผ๋‹จ ๋ชจ๋“ˆ์˜ ์‚ฌ์šฉ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ๋ณด์ž.


์Œ... ๋ญ ๋Œ€๋ถ€๋ถ„์€ย ๊ทธ๋ƒฅ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ž‘ ๋‹ค๋ฅธ ๊ฒŒ ์—†์–ด๋ณด์ธ๋‹ค.

ํ•˜์ง€๋งŒ ์ €๊ธฐ func์˜ pub๋ฅผ ์ฃผ๋ชฉํ•ด์•ผ ํ•œ๋‹ค. pub๋Š” ํ•ด๋‹น ๋ชจ๋“ˆ ์™ธ๋ถ€์—์„œ๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ช…์‹œํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.
ํ•จ์ˆ˜๋‚˜ ๋ฉ”์†Œ๋“œ, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐ, ๋ชจ๋“ˆ ์•ž์—๋„ ๋ถ™์„ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ๋ชจ๋“ˆ๋„ ๋‹ค๋ฅธ ๋ชจ๋“ˆ ์•ˆ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ...

์–ด์จŒ๋“  ์ €๊ธฐ์„œ pub์„ ๋นผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

์ด๋ ‡๊ฒŒ.

๊ทธ๋ฆฌ๊ณ  ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ use๋ฅผ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ชจ๋“ˆ ๊นŠ์ด๊ฐ€ ๋„ˆ๋ฌด ๊นŠ์–ด์„œ ๋ถˆํŽธํ•˜๋ฉด ๋ณ„๋ช…์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.
use ๊ธฐ์กด๋ชจ๋“ˆ ๊ฒฝ๋กœ as ๋ณ„๋ช…;

๋ชจ๋“ˆ์ด ์ค‘์ฒฉ๋  ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์˜ ๋™๋ช…์˜ ํ•จ์ˆ˜๋‚˜ ๋ณ€์ˆ˜๊ฐ€ ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” self๋‚˜ super๋กœ ๋ช…์‹œ๋ฅผ ํ•ด์ค„ ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์†Œ์ŠคํŒŒ์ผ๋“ค์„ ์—ฐ๊ฒฐํ•  ๋•Œ๋„ ๋ชจ๋“ˆ ๊ฐœ๋…์ด ์‚ฌ์šฉ๋œ๋‹ค.

๋‹ค๋ฅธ ์†Œ์ŠคํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๊ฐ–๊ณ ์™€์„œ ์“ฐ๋ ค๋ฉด ์ผ๋‹จ mod ์†Œ์ŠคํŒŒ์ผ์ด๋ฆ„ (ํ™•์žฅ์ž ์ œ์™ธ)๋กœ ๋ชจ๋“ˆ์˜ ํ˜•ํƒœ๋กœ ๋Œ๊ณ ๋“ค์–ด์™€์•ผ ํ•œ๋‹ค.
๊ทธ๋Ÿฌ๊ณ  ๋‚œ ๋’ค์—๋Š” ๊ทธ๋ƒฅ ๋ชจ๋“ˆ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


๊ทธ๋ฆฌ๊ณ  ์ด์ œ๊นŒ์ง€ ํ–ˆ๋˜ ๊ฒƒ์„ ์ข…ํ•ฉํ•ด์„œ ์ •๋ณด์€๋‹‰์ด ํฌํ•จ๋œ ๋ž˜ํผ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด๋ณผ ์ˆ˜๊ฐ€ ์žˆ๊ฒ ๋‹ค.
๊ตฌ์กฐ์ฒด์˜ ์š”์†Œ์—๋งŒ private๊ฐ€ ๊ฑธ๋ ค์žˆ๋‹ค.


๋” ์žˆ๋‚˜? ๋.