λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
βœ’οΈ Android/Android Studio

[Android] 8. Kotlin κΈ°λ³Έ 문법_클래슀 상속 및 μΈν„°νŽ˜μ΄μŠ€μ™€ 닀쀑 상속 & 좔상 ν΄λž˜μŠ€μ™€ λ©”μ†Œλ“œ &클래슀 λ³€μˆ˜μ™€ λ‹€ν˜•μ„±

by A Lim Han 2023. 1. 7.

# Kotlin κΈ°λ³Έ 문법_클래슀 상속 및 μΈν„°νŽ˜μ΄μŠ€μ™€ 닀쀑 상속 & 좔상 ν΄λž˜μŠ€μ™€ λ©”μ†Œλ“œ & 클래슀 λ³€μˆ˜μ™€ λ‹€ν˜•μ„±

 

# Kotlin κΈ°λ³Έ 문법_클래슀 상속 및 μΈν„°νŽ˜μ΄μŠ€μ™€ 닀쀑 상속

: κΈ°μ‘΄ ν΄λž˜μŠ€κ°€ 가지고 μžˆλŠ” 것을 κ·ΈλŒ€λ‘œ λ¬Όλ €λ°›μœΌλ©° ν•„μš”λ‘œ ν•˜λŠ” ν•„λ“œ, λ©”μ†Œλ“œ 등을 μΆ”κ°€λ‘œ μ •μ˜ν•˜λŠ” 것

 

 

ex 1) μ˜ˆμ‹œ 1_Automobile,kt

 

 

 

ex 2) μ˜ˆμ‹œ 2_exam08.kt

 

 

 

- μΈν„°νŽ˜μ΄μŠ€(interface)

: 좔상 ν΄λž˜μŠ€μ™€ μœ μ‚¬ν•œ 성격을 μ§€λ‹ˆλ©°, interface ν‚€μ›Œλ“œλ₯Ό μ΄μš©ν•˜μ—¬ μ •μ˜ν•œλ‹€.

 

+ λ‚΄λΆ€μ—λŠ” 좔상 λ©”μ†Œλ“œλ₯Ό μ„ μ–Έ

+ ν΄λž˜μŠ€μ—μ„œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ°›μ•„ μ™„μ„±ν•  λ•Œ 상속과 λ§ˆμ°¬κ°€μ§€λ‘œ ': μΈν„°νŽ˜μ΄μŠ€λͺ…' ν˜•μ‹μ„ μ‚¬μš©

+ Kotlin은 닀쀑 상속을 μ§€μ›ν•˜μ§€ X  -->  μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ 닀쀑 상속과 μœ μ‚¬ν•œ κ΅¬ν˜„ κ°€λŠ₯

 

 

ex) μ˜ˆμ‹œ 1_exam10.kt

 

 

 

 

# Kotlin κΈ°λ³Έ 문법_좔상 ν΄λž˜μŠ€μ™€ λ©”μ†Œλ“œ

 

- 좔상 클래슀

: 클래슀 μ•žμ— abstract ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬ μ§€μ •ν•˜λŠ” 클래슀둜, μΈμŠ€ν„΄μŠ€ 생성이 λΆˆκ°€ν•˜λ‹€.

 

 

 

- 좔상 λ©”μ†Œλ“œ

: 본체가 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” λ©”μ†Œλ“œλ‘œ, λ©”μ†Œλ“œμ˜ μ•žμ— abstract ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬ μ§€μ •ν•œλ‹€.

+ 좔상 λ©”μ†Œλ“œλ₯Ό ν¬ν•¨ν•˜λŠ” ν΄λž˜μŠ€λŠ” λ°˜λ“œμ‹œ 좔상 클래슀둜 지정해야 ν•œλ‹€.

 

 

 

- 좔상 ν΄λž˜μŠ€μ™€ 좔상 λ©”μ†Œλ“œμ˜ μ‚¬μš© λͺ©μ 

: κ³΅ν†΅μ μœΌλ‘œ μ‚¬μš©λ˜λŠ” κΈ°λŠ₯을 좔상 λ©”μ†Œλ“œλ‘œ μ„ μ–Έν•œ λ’€, 좔상 클래슀λ₯Ό 상속받은 후에 좔상 λ©”μ†Œλ“œλ₯Ό μ˜€λ²„λΌμ΄λ”©ν•˜μ—¬ μ‚¬μš©ν•˜κΈ° μœ„ν•¨

+ μ΄λ•Œ 'κ΅¬ν˜„ν•˜λ‹€(implement)'λŠ” 좔상 λ©”μ†Œλ“œλ₯Ό μ˜€λ²„λΌμ΄λ”©ν•˜λŠ” 것을 의미

 

 

ex) μ˜ˆμ‹œ 1_Animal.kt

 

 

 

 

# Kotlin κΈ°λ³Έ 문법_클래슀 λ³€μˆ˜μ™€ λ‹€ν˜•μ„±

 

- λ‹€ν˜•μ„±(polymorphism)

: μ„œλΈŒν΄λž˜μŠ€μ—μ„œ μƒμ„±ν•œ μΈμŠ€ν„΄μŠ€λ₯Ό μžμ‹ μ˜ 클래슀 λ³€μˆ˜μ— λŒ€μž…ν•  수 μžˆλŠ” 것을 의미

+ ν•˜λ‚˜μ˜ λ³€μˆ˜μ— μ—¬λŸ¬ μ’…λ₯˜μ˜ μΈμŠ€ν„΄μŠ€ λŒ€μž… κ°€λŠ₯

 

 

ex) μ˜ˆμ‹œ 1_exam09.kt