[Rust] dyn ν‚€μ›Œλ“œ

dynν‚€μ›Œλ“œλŠ” νŠΈλ ˆμž‡ 객체λ₯Ό λͺ…μ‹œν•˜λŠ”λ°μ— μ‚¬μš©λ˜λŠ” μ „μš© ν‚€μ›Œλ“œλ‹€.

예λ₯Όλ“€μ–΄ μ•„λž˜μ˜ μ½”λ“œμ—μ„œ, image

image Bar κ΅¬μ‘°μ²΄λŠ” Foo νŠΈλ ˆμž‡μ„ κ΅¬ν˜„ν•˜κ³  μžˆλ‹€.
λ”°λΌμ„œ Bar의 값은 Foo의 νƒ€μž…μœΌλ‘œ ν‘œν˜„λ  수 μžˆλ‹€.
κ·Έλž˜μ„œ &Foo에 &Bar값을 μ €μž₯ν•˜λŠ” 것이 μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜λŠ” 것이닀.

사싀 뭐 μ΄κ±Έλ‘œλ„ μΆ©λΆ„ν•˜κΈ΄ ν•œλ°... 러슀트의 κ°œλ°œμžλ“€μ€ μ΄κ±Έλ‘œλ„ λΆ€μ‘±ν–ˆλ‚˜λ³΄λ‹€.

μ €λ ‡κ²Œ λ‹¬λž‘ νƒ€μž…λͺ…λ§Œ μ¨λ†“μœΌλ©΄ ꡬ쑰체인지 νŠΈλ ˆμž‡μΈμ§€ ꡬ뢄이 μ•ˆκ°„λ‹€κ³  dynμ΄λΌλŠ” ν‚€μ›Œλ“œλ₯Ό μΆ”κ°€ν–ˆλ‹€.
μœ„μ˜ μ½”λ“œμ— dyn을 뢙이면 μ΄λ ‡κ²Œ λœλ‹€. image

image κ·Έλ ‡λ‹€.


μ°Έμ‘°
https://doc.rust-lang.org/edition-guide/rust-2018/trait-system/dyn-trait-for-trait-objects.html
https://stackoverflow.com/questions/50987084/why-was-the-dyn-syntax-introduced