iOS/🟠 Swift

[Swift] - 상속 (Inheritance)

woozzang 2021. 4. 21. 11:35

상속

상속은 클래슀만의 νŠΉμ§•μœΌλ‘œ μ„œλΈŒν΄λž˜μŠ€λŠ” 수퍼클래슀의 λ©”μ„œλ“œλ‚˜ ν”„λ‘œνΌν‹°λ“±μ„ 상속받아 μ‚¬μš©ν• μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

 

super ν‚€μ›Œλ“œ 없이 μ΄λ¦„λ§ŒμœΌλ‘œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

λ˜ν•œ final ν‚€μ›Œλ“œλ‘œ μ •μ˜λœ μš”μ†ŒλŠ” 상속받지 λͺ»ν•©λ‹ˆλ‹€.

 

상속받은 수퍼클래슀의 μš”μ†Œλ₯Ό μž¬μ •μ˜λ₯Ό ν•  λ•ŒλŠ” λͺ…ν™•νžˆ override ν‚€μ›Œλ“œλ‘œ λͺ…μ‹œν•΄μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€.

 

μ„œλΈŒν΄λž˜μŠ€μ—μ„œ μž¬μ •μ˜λ₯Ό ν–ˆλ‹€λ©΄, 수퍼클래슀의 원본 μš”μ†ŒλŠ” super ν‚€μ›Œλ“œλ‘œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

μž¬μ •μ˜ 쀑 ν”„λ‘œνΌν‹°, ν”„λ‘œνΌν‹° κ°μ‹œμž 뢀뢄은 κ·œμΉ™μ„ μ œλŒ€λ‘œ μ•Œκ³  κ°€μ•Ό ν•©λ‹ˆλ‹€.

 

λ©”μ„œλ“œ μž¬μ •μ˜, μ„œλΈŒμŠ€ν¬λ¦½νŠΈ μž¬μ •μ˜λŠ” κ°„λ‹¨ν•˜κΈ° λ•Œλ¬Έμ— μƒλž΅ν•˜μ˜€μŠ΅λ‹ˆλ‹€


 

ν”„λ‘œνΌν‹° μž¬μ •μ˜

μ €μž₯ ν”„λ‘œνΌν‹°λ‘œ μž¬μ •μ˜ ν• μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€.

 

읽기과 μ“°κΈ° κ°€λŠ₯, 즉 {get set} 으둜 κ΅¬ν˜„λœ μ—°μ‚° ν”„λ‘œνΌν‹°μ˜ ν”„λ‘œνΌν‹° κ°μ‹œμžλ₯Ό μž¬μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

그리고 μž¬μ •μ˜κ°€ μ•„λ‹λ•Œλ„ μ—°μ‚°ν”„λ‘œνΌν‹°μ™€ ν”„λ‘œνΌν‹° κ°μ‹œμžλŠ” λ™μ‹œμ— μ •μ˜ν• μˆ˜ μ—†μ—ˆλŠ”λ°, μž¬μ •μ˜ λ•Œλ„ μ—°μ‚° ν”„λ‘œνΌν‹°μ™€ ν”„λ‘œνΌν‹° κ°μ‹œμžλŠ” λ™μ‹œμ— μ •μ˜ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

 

{get} 을 {get set}둜 μž¬μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

{get set} 을 {get} 으둜 μž¬μ •μ˜ν•  μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€.

 

μƒμˆ˜μ €μž₯ ν”„λ‘œνΌν‹°λ‚˜ {get} 으둜만 κ΅¬ν˜„λœ μ—°μ‚°ν”„λ‘œνΌν‹°λŠ” ν”„λ‘œνΌν‹° κ°μ‹œμžλ₯Ό μž¬μ •μ˜ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

 

ν”„λ‘œνΌν‹° κ°μ‹œμžλ₯Ό μž¬μ •μ˜ν•΄λ„ μˆ˜νΌν΄λž˜μŠ€μ— μ •μ˜λœ ν”„λ‘œνΌν‹° κ°μ‹œμžλ„ 같이 λ™μ‹œμ— λ™μž‘ν•©λ‹ˆλ‹€.


 

μž¬μ •μ˜ 방지

μž¬μ •μ˜ λ°©μ§€λŠ” μš”μ†Œ μ•žμ— final ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬μ£Όλ©΄ λ©λ‹ˆλ‹€.

 

 

 

끝!


참고 자료: docs.swift.org/swift-book/LanguageGuide/Inheritance.html

 

 

πŸ€–πŸŸ’[우짱의 iOS λΈ”λ‘œκ·Έ]πŸ”΅πŸ’»

iOSλ₯Ό κ³΅λΆ€ν•˜λ©΄μ„œ 배운 λ‚΄μš©μ„ κΈ°λ‘ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.