μΆμν(Abstract)
- abstractν€μλ ν΄λμ€μ λ©μλμ μ μ©λ¨.
- μΆμ(abstract)ν΄λμ€λ μ€μ ν΄λμ€λ€μ λ©μλλ€μ μ΄λ¦μΌ ν΅μΌν λͺ©μ μΌλ‘ μ¬μ©ν¨.
- μΆμ(abstract) λ©μλκ° μλ ν΄λμ€λ λ°λμ μΆμ ν΄λμ€μ¬μΌ ν¨.
- μΆμν΄λμ€μ λ°λμ μΆμ λ©μλλ§ μ μΈν νμλ μκ³ μΌλ° λ©μλλ μ μΈ κ°λ₯.
βΆ μΆμνλ₯Ό μ¬μ©νμ§ μμ λμ μμ
-λΆλͺ¨ν΄λμ€ HeadStoreλ₯Ό μμλ°μ SeoulStoreμμ melonλ©μλ μ€λ²λΌμ΄λ©μ λΉΌλ¨Ήκ²λλ©΄,
- μνμ§ μλ κ²°κ³Όκ°μ λμΆν΄ λΌμ μκΈ° λλ¬Έμ, μ€μ μν©μμ μ΄ μ€μλ μμ£Ό ν° μ€μλ‘ μ΄μ΄μ§ μ μμ.
- μ΄λ¬ν μ€μλ₯Ό λ°©μ§νκΈ° μν΄ μΆμν΄λμ€λ₯Ό μ¬μ©ν¨.
1. μΆμν΄λμ€
- μΆμν΄λμ€λ newν€μλ μ΄μ©ν΄ κ°μ²΄ λ§λ€μ§ λͺ»νκ³ μ€μ§ μμ ν΅ν΄ μμ ν΄λμ€λ‘ ꡬ체ν μμΌμΌν¨.
- μΆμν΄λμ€λ μΌλ° ν΄λμ€μ λ§μ°¬κ°μ§λ‘ λ©€λ²λ³μ, μμ±μ, λ©μλ μ μΈκ°λ₯.
- newμ¬μ©ν΄ μ§μ μμ±μ νΈμΆ λΆκ°λ₯νμ§λ§, μμ κ°μ²΄ μμ±λ λ super()λ₯Ό νΈμΆν΄ μΆμ ν΄λμ€ κ°μ²΄ μμ±νλ―λ‘ μΆμ ν΄λμ€λ μμ±μκ° λ°λμ μμ΄μΌ ν¨.
2 .μΆμ λ©μλ
- μΆμλ©μλλ μΆμ ν΄λμ€ λ΄μμλ§ μ μΈκ°λ₯.
- μΆμ λ©μλλ λ©μλμ μ μΈλΆλ§ μκ³ λ©μλ μ€ν λ΄μ©μ΄ λ€μ΄κ°λ μ€κ΄νΈ {}κ° μλ λ©μλλ₯Ό λ§ν¨.
- μΆμ ν΄λμ€ μ€κ³ν λ μμ ν΄λμ€κ° λ°λμ μ€ν λ΄μ© μ±μ°λλ‘ κ°μνκ³ μΆμ λ©μλ μμ λ ν΄λΉ λ©μλ μΆμ λ©μλλ‘ μ μΈ.
- μμ ν΄λμ€μμ λ°λμ λΆλͺ¨ μΆμν΄λμ€μ μΆμ λ©μλλ₯Ό μ¬μ μν΄ μ€νλ΄μ© μμ±ν΄μΌν¨. κ·Έλ μ§ μμΌλ©΄ μ€λ₯λ°μ.
νλ§λλ‘ μΆμν΄λμ€λ μΆμλ©μλλ₯Ό μ¬μ©νκΈ°μν ν΄λμ€λΌκ³ λ΄λ 무방ν¨.
μΆμν ν΄λμ€λ₯Ό μμλ°μ ν΄λμ€λ΄μ μΆμν ν΄λμ€λ΄ μ μΈν μΆμν λ©μλ 무쑰건 μ€λ²λΌμ΄λ© ν΄μ£Όμ΄μΌν¨.
μμμ μΆμνλ₯Ό μ¬μ©νμ§ μμ μ€λ²λΌμ΄λ©μ ν΄μ£Όμ§ λͺ»νλ μ€μ/μν©μ λ°©μ§ν μ μκ² ν΄μ€.
3. javaμμ abstractμ μλ―Έ
- μ¬μ©μ ν΄λμ€λ₯Ό μ μν λ κ΅³μ΄ abstractν΄λμ€λ‘ μ€κ³ν νμ μμ.
- But, μλ° λ΄λΆ λ§μ ν΄λμ€λ abstractν΄λμ€λ‘ μ μ λμ΄μμμ μμλμ΄μΌ ν¨.
- λν, μμν΄λμ€λ‘ μμ±ν΄ λΆλͺ¨ν΄λμ€(μΆμ ν΄λμ€)μ μ μ₯ν΄μ μ¬μ©κ°λ₯νλ€λ μ μ μ΅μν΄μ ΈμΌ ν¨.
'FOR SW ENGINEERπ©βπ» > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JAVA_μμΈν΄λμ€μ μμΈμ²λ¦¬λ°©λ²(try~catch, throws) (0) | 2021.09.30 |
---|---|
JAVA_μΈν°νμ΄μ€(Interface) (0) | 2021.09.14 |
JAVA_μ μ μ νμ (Static) (0) | 2021.09.12 |
JAVA _λ€νμ±(Polymorphism) (0) | 2021.09.09 |
κ΅λΉJAVAμμ DAY-13 (0) | 2021.09.02 |