[Elixir] ν”„λ‘œν† μ½œ

[원본 링크]

ν”„λ‘œν† μ½œμ€ μ—˜λ¦­μ„œμ˜ λ©‹μ§„ κΈ°λŠ₯ 쀑 ν•˜λ‚˜λ‹€. λ‹€λ₯Έ μ–Έμ–΄λ“€μ˜ μΈν„°νŽ˜μ΄μŠ€, νŠΈλ ˆμž‡ λ“±κ³Ό λΉ„μŠ·ν•˜λ‹€κ³  보면 λœλ‹€.

이전 ν¬μŠ€νŠΈμ—μ„œλŠ” ꡬ쑰체λ₯Ό λŒ€λž΅ λ‹€λ€˜μ—ˆλŠ”λ°
https://m.blog.naver.com/sssang97/222265066054
사싀 μ΄κ²ƒλ§ŒμœΌλ‘œλŠ” ν• μˆ˜μžˆλŠ”κ²Œ λ³„λ‘œ μ—†λ‹€.

κ΅¬μ‘°μ²΄λŠ” 이 ν”„λ‘œν† μ½œμ„ 톡해 행동을 κ΅¬ν˜„ν•  λ•Œ 빛을 보인닀.

ν”„λ‘œν† μ½œμ€ λ‹€μŒκ³Ό 같이 defprotocol을 톡해 μ •μ˜ν•  수 있고, μ •μ˜κ°€ μ—†λŠ” 빈 ν•¨μˆ˜λ“€μ΄ μ—¬λŸ¬κ°œ λ“€μ–΄κ°ˆ 수 μžˆλ‹€. image

image


ν”„λ‘œν† μ½œ κ΅¬ν˜„ν•˜κΈ°
이제 κ΅¬ν˜„μ„ ν•΄λ³΄μž. ν”„λ‘œν† μ½œμ˜ κ΅¬ν˜„μ€ defimpl ν‚€μ›Œλ“œλ₯Ό 톡해 ν•  수 μžˆλ‹€.
defimpl ν”„λ‘œν† μ½œ, for: νƒ€μž… do...
와 같이 κ΅¬ν˜„λΆ€λ₯Ό λ§Œλ“€κ³  내뢀에 ν”„λ‘œν† μ½œ ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•˜λ©΄ λœλ‹€. image

image

image 그럼 ν”„λ‘œν† μ½œ ν•¨μˆ˜λ‘œ κ΅¬ν˜„μ²΄λ₯Ό ν˜ΈμΆœν•  수 있게 λœλ‹€.
νƒ€μž…λ³„λ‘œ λ‹€λ₯΄κ²Œ defimpl을 μΆ”κ°€ν•  수 μžˆμœΌλ‹ˆ ν”„λ‘œν† μ½œ ν•¨μˆ˜λŠ” νƒ€μž…λ§ˆλ‹€ λ‹€ν˜•μ μœΌλ‘œ λ™μž‘ν•˜λŠ” ν•¨μˆ˜κ°€ λœλ‹€.


μ°Έμ‘°
https://www.tutorialspoint.com/elixir/elixir_protocols.htm
https://elixirschool.com/ko/lessons/advanced/protocols/