# Interface & Abstract
곡λΆνκ³ μ 리νλ μ€μ λλ€!
# 곡ν΅μ κ³Ό μ°¨μ΄μ
# 곡ν΅μ
- κ°μ²΄λ₯Ό μμ±ν μ μλ€.
- μ μΈλΆλ§ μλ λ©€λ²λ νμ ν΄λμ€μμ λ°λμ ꡬνν΄μΌ νλ€.
# μ°¨μ΄μ
ꡬνλ Method | ||
μμ(extends) | ||
ꡬν(implements) | ||
λ©€λ² λ³μ |
# μ 리ν΄λ³΄λ©΄
λ©μλ ꡬνμ κ°μ ν μ μλ€!
1. μΆμ ν΄λμ€
- μΌλ° ν΄λμ€μμ μΆμν¨μλ§ μΆκ°λ νν
- abstract ν€μλκ° νμ
- λ©€λ² λ³μλ₯Ό κ°μ§ μμ
- λ¨μΌ μμλ§ κ°λ₯
2. μΈν°νμ΄μ€
- λͺ¨λ λ©€λ²κ° μΆμμ (μ μΈλ§ κ°λ₯)
- λ©€λ² μ μ κ·Όμ μ΄μ μ¬μ© λΆκ°λ₯ (defaltλ‘ public μ μ©)
- λ€μ€ ꡬν κ°λ₯!
(β² μΆμ² : oemilk brunch (opens new window) ν΄λμ€μ μΈν°νμ΄μ€)
# Reference
μΈν°νμ΄μ€(interface)μ μΆμ ν΄λμ€(abstract class) (opens new window)
μλ° μΈν°νμ΄μ€μ μΆμν΄λμ€ (opens new window)
Effective Java - ν΄λμ€μ μΈν°νμ΄μ€ (opens new window)