λͺ©λ‘πŸ“±πŸŽ iOS/πŸ•Š Swift (15)

Bibi's DevLog πŸ€“πŸŽ

동일성과 동등성 Identity and Equality (Swift)

Identity 동일성 말 κ·ΈλŒ€λ‘œ 동일함을 의미. 두 객체가 μ™„μ „νžˆ κ°™λ‹€. “λ™μΌν•˜λ‹€” = 클래슀의 μΈμŠ€ν„΄μŠ€κ°€ λ©”λͺ¨λ¦¬μƒμ— μžˆλŠ” λ™μΌν•œ 객체λ₯Ό 가리킀고 μžˆλ‹€. 즉 μ£Όμ†Œκ°’μ΄ κ°™λ‹€. 값이 같더라도, μ„œλ‘œ λ…λ¦½μ μœΌλ‘œ μƒμ„±λ˜μ—ˆλ‹€λ©΄ λ™μΌν•˜λ‹€κ³  λ³Ό 수 μ—†λ‹€. Swiftμ—μ„œ… === , !==μ—°μ‚°μžλ₯Ό ν™œμš©ν•΄ μ°Έμ‘°κ°€ λ™μΌν•œμ§€ 확인할 수 μžˆλ‹€. === λŠ” ν΄λž˜μŠ€μ— λŒ€ν•΄μ„œλ§Œ μ‚¬μš©ν•  수 μžˆλ‹€ - κ΅¬μ‘°μ²΄λŠ” 항상 κ³ μœ ν•˜κ²Œ μ°Έμ‘°λ˜λ„λ‘ μ„€κ³„λ˜μ—ˆκΈ° λ•Œλ¬Έ. μ°Έκ³  : ===, !== μ—°μ‚°μž Equality 동등성 두 객체가 같은 정보λ₯Ό 가지고 μžˆλ‹€. μ°Έμ‘° (객체의 μ£Όμ†Œ) κ°€ λ‹€λ₯΄λ”라도, κ·Έ λ‚΄μš©(κ°’)이 κ°™μœΌλ©΄ λ™λ“±ν•˜λ‹€κ³  ν‘œν˜„ν•œλ‹€. λ™μΌν•˜λ©΄ λ™λ“±ν•˜μ§€λ§Œ, λ™λ“±ν•˜λ‹€κ³  λ™μΌν•œ 것은 μ•„λ‹ˆλ‹€. Swiftμ—μ„œ… ==, != μ—°μ‚°μžλ₯Ό ν™œμš©ν•΄ 값이 동등..

[Swift] ν”„λ‘œν† μ½œ Protocol

[Swift] ν”„λ‘œν† μ½œ Protocol Swift ν”„λ‘œκ·Έλž˜λ° - 377μͺ½ ~ ν”„λ‘œν† μ½œ : νŠΉμ • μ—­ν• (κΈ°λŠ₯)을 ν•˜κΈ° μœ„ν•œ λ©”μ„œλ“œ, ν”„λ‘œνΌν‹°, 기타 μš”κ΅¬μ‚¬ν•­μ˜ 청사진을 μ •μ˜ν•œ 것 ν”„λ‘œν† μ½œμ€ κΈ°λŠ₯을 μ •μ˜ν•˜κ³  μ œμ‹œν•  뿐, 슀슀둜 κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λŠ” 것이 μ•„λ‹ˆλ‹€. ꡬ쑰체/클래슀/μ—΄κ±°ν˜•μ€ νŠΉμ • ν”„λ‘œν† μ½œμ„ 채택(adopted)ν•΄μ„œ κ·Έ 역할을 μœ„ν•œ μš”κ΅¬μ‚¬ν•­μ„ κ΅¬ν˜„ν•œλ‹€. μ–΄λ–€ νƒ€μž…μ΄ μ–΄λ–€ ν”„λ‘œν† μ½œμ˜ μš”κ΅¬μ‚¬ν•­μ„ λ”°λ₯΄λ©΄, 'ν•΄λ‹Ή ν”„λ‘œν† μ½œμ„ μ€€μˆ˜ν•œλ‹€(conform)'라고 ν‘œν˜„ν•œλ‹€. μŠ€μœ„ν”„νŠΈμ—μ„œ ν”„λ‘œν† μ½œμ€ μ™„μ „ν•œ ν•˜λ‚˜μ˜ νƒ€μž…μœΌλ‘œ μ‚¬μš©λœλ‹€. νŒŒλΌλ―Έν„°λ‚˜ λ¦¬ν„΄νƒ€μž…μœΌλ‘œ μ‚¬μš© κ°€λŠ₯ ν”„λ‘œνΌν‹°, λ³€μˆ˜, μƒμˆ˜μ˜ νƒ€μž…μœΌλ‘œ μ‚¬μš© κ°€λŠ₯ λ°°μ—΄ λ“± μ»¨ν…Œμ΄λ„ˆ μš”μ†Œμ˜ νƒ€μž…μœΌλ‘œ μ‚¬μš© κ°€λŠ₯ ν”„λ‘œν† μ½œ λ§Œλ“€κΈ° : protocol ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•΄ μ„ μ–Έ..