κ΅λΉμμ 11μΌμ°¨ λλ²μ§Έ!!
μ΄λ² λ‘κ·Έμμλ 11μΌμ°¨ λλ²μ§Έλ‘ μμμ μ 리νμ§ λͺ»νλ μμ(Inheritance), μ€λ²λΌμ΄λ©(Overriding), μ€λ²λ‘λ©(Overloading)μ λν΄μ μ 리ν΄λ³΄κ² λ€!
κ·ΈλΌ μμ μμ~~!!π
1. μμ(Inheritance)
- κΈ°μ‘΄μ ν΄λμ€ νμ₯ν΄ μλ‘μ΄ ν΄λμ€ μ΄λμ΄ λ΄λ κ².
- κΈ°μ‘΄μ μ½λ μ¬μ¬μ©ν¨μΌλ‘μ¨ λ¨μμ±, κ°λ μ± λμ.
- λ¨μΌμμλ§ μ§μ.
- ν ν΄λμ€κ° λ€λ₯Έ ν΄λμ€λ‘λΆν° μμ λ°μ λ§λ€μ΄μ§λ©΄,
μλ‘ λ§λ€μ΄μ§ ν΄λμ€λ : μμ(child or sub)ν΄λμ€.
λ©€λ²λ³μμ λ©μλ λ¬Όλ €μ£Όλ ν΄λμ€ : λΆλͺ¨(parent or super)ν΄λμ€.
- λΆλͺ¨ν΄λμ€μ λ©€λ²λ³μμ λ©μλλ μμν΄λμ€μ μμλμ§λ§, λΆλͺ¨ν΄λμ€μ μμ±μλ μμλμ§ μμ.
- μμ μ¬μ©νλ ν€μλ : extends.
- μλ°μ λͺ¨λ ν΄λμ€λ Objectν΄λμ€λ₯Ό μμλ°μ --> Objectν΄λμ€λ μλ°μ μ΅μμ ν΄λμ€.
βΆ μμμ Bad Case
μμμ νμ§ μλ λ€λ©΄ μμ μμ μ²λΌ κ°μ μ½λλ₯Ό μ¬λ¬λ² μμ±ν΄μΌν¨.
βΆ μμμ Good Case
Student, Teacher, Employeeν΄λμ€λ Personμ μμλ°μ nameκ³Ό ageλ₯Ό μλ‘κ² μ μΈνμ§ μμλ μ¬μ©ν μ μλ€.
μ΄λ μμμ μ¬μ©νλ©΄ λ¨μμ±κ³Ό κ°λ μ±μ λμ¬μ€λ€λ κ²μ 보μ¬μ€λ€.
2. λ©μλ μ¬μ μ - μ€λ²λΌμ΄λ©(Overriding)
- λ©μλ μ¬μ μ : λΆλͺ¨ν΄λμ€λ‘λΆν° μμλ°μ λ©μλλ₯Ό μμν΄λμ€μμ νμ λ°κΎΈκ±°λ 보μνκΈ° μν΄ λ€μ μ μν΄ μ¬μ©
- λΆλͺ¨ν΄λμ€μμ νΉλ³ν μ©λλ‘ μ¬μ©νλ λ©μλλ₯Ό μμν΄λμ€μμ λ€λ₯Έ μ©λλ‘ μ¬μ©ν λ νμ
- λͺ¨λ λΆλͺ¨ν΄λμ€κ° μμν΄λμ€κ° μ¬μ©νκΈ°μ μ ν©νμ§λ μμ μ μμ. --> μΌλΆ λ©μλ μμν΄λμ€μμ μ¬μ μ ν΄μΌν¨ --> μ€λ²λΌμ΄λ©(Overriding)
- λ©μλκ° μμν΄λμ€μμ μ¬μ μ λμμΌλ©΄, μμκ°μ²΄ ν΅ν΄ λ©μλ νΈμΆνμ λ μλ‘κ² μ¬μ μλ λ©μλκ° νΈμΆλ¨.
- μ¬μ μλ λ©μλλ νμ μ°μ μ μΌλ‘ μ€νλλ€.
<λ©μλ μ¬μ μ κ·μΉ>
1. λ°λμ μμμ μ μ λ‘ν΄μΌν¨.
2. λ°λμ λ°νμ νμ΄ κ°μμΌ ν¨.
3. λ©μλ μ΄λ¦ κ°μμΌ ν¨.
4. λ§€κ° λ³μ μ μΈμ΄ μ νν μΌμΉν΄μΌ ν¨.
5. μ κ·Όμ νμ κ°κ±°λ λ μ ν μμ΄μΌ ν¨.
βΆμ€λ²λΌμ΄λ©(Overriding)μμ 1λ²
Parentν΄λμ€ method2λ²μ΄ Childν΄λμ€μμ method2λ²μΌλ‘ μλ‘ μ¬μ μ(Overriding) λμμ.
βΆμ€λ²λΌμ΄λ©(Overriding)μμ 2λ²
- Personν΄λμ€μ infoλ©μλλ₯Ό μμλ°μ Student, Teacher, Employeeν΄λμ€λ€μ κ°κ° infoλ©μλλ₯Ό μ€λ²λΌμ΄λ©ν΄ κ°κ° λ€λ₯Έκ°μΌλ‘ μ λ ₯λ°μ λ€λ₯Έ κ°μ μΆλ ₯νλ€.
Student, Teacher, Employeeν΄λμ€λ κ°κ° Personν΄λμ€ λ©€λ²λ³μμΈ name, ageλ₯Ό μμλ°μ μλ‘μ΄ λ³μ κ°μ λ°λλ€. μλ‘ λ°μ λ³μ κ°μ μμλ°μ info()λ©μλμ λμ ν΄ info()λ©μλλ₯Ό μ€λ²λΌμ΄λ©νλ€.
λ°λΌμ Mainλ¬Έλ΄ System.out.printlnμΌλ‘ κ°κ°μ λ©μλλ₯Ό λ°μ κ°μ μλ‘ λ€λ₯Έ μ λ ₯λ°μ κ°μ΄ μΆλ ₯λ¨.
3. λ©μλ μ€λ³΅ - μ€λ²λ‘λ©(Overloading)
- μλ°λ λ©μλλ μμ±μμ μ€λ³΅ μ μΈμ νμ©ν¨.
- μ€λ³΅μ λ©μλ / μμ±μ μ μΈν λ μ΄λ¦μ κ°μ§λ§ 맀κ°λ³μμ μ νμ΄λ κ°μλ₯Ό λ€λ₯΄κ² μ μΈν΄ λλ κ²μ μλ―Έ.
- μ€λ³΅μ μ¬μ©νλ©΄ νλμ λ©μλλ‘ λ§€κ°λ³μμ μ νμ λ°λΌ λ€λ₯Έ λμμ΄ μ€νλ¨.
<μ€λ³΅μ 쑰건>
1. μ΄λ¦μ΄ κ°μμΌ ν¨.
2. μ κ·Όμ νμλ λ°νμ νμ μν₯μ λ―ΈμΉμ§ μμ.
3. 맀κ°λ³μ μ ν / κ°μ / μμ λ¬λΌμΌν¨
βΆ μ€λ²λ‘λ© μμ
λ©μλμ μ΄λ¦μ κ°μ§λ§ 맀κ°λ³μμ νμ , κ°μ, μμ λ€λ₯΄κΈ°λλ¬Έμ μ΄λ 6κ°μ μλ‘λ€λ₯Έ λ©μλμ΄λ€.
'FOR SW ENGINEERπ©βπ» > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
κ΅λΉJAVAμμ DAY-13 (0) | 2021.09.02 |
---|---|
κ΅λΉJAVAμμ DAY-12 (0) | 2021.09.01 |
κ΅λΉJAVAμμ DAY-11 (0) | 2021.08.28 |
κ΅λΉJAVAμμ DAY-10(2) (0) | 2021.08.28 |
κ΅λΉJAVAμμ DAY-10 (0) | 2021.08.28 |