κ΅λΉμ§μ D+21
- μμ κ΅μ¬μ 리, μΈν°νμ΄μ€ -
μμ κ΅μ¬μ 리
β’ μμ
- μμμ μ¬νμ©κ³Ό 곡ν΅λ κ·μ½μ μ§μνκΈ° μν λ¬Έλ²μ΄μ κ°μ²΄ μ§ν₯μ νΉμ§μ΄λ€.
- 곡ν΅λ λΆλΆμ νλμ ν΄λμ€λ‘ λ§λ€μ΄μ£Όκ³ μμνλ©΄ μνμ μΈ νμ₯μ΄ λ°μλ λ 곡ν΅λ λΆλΆμ λ€μ λ£μ΄μ£Όμ§ μμλ λλ€.
- μμμ μ¬νμ©μΈ‘λ©΄μΌλ‘ μ¬μ©νλ€λ©΄ μν νμ μ΄ μ‘΄μ¬ν΄μΌνλ©°, κ²ΉμΉλ λΆλΆμ λν λ³Όλ₯¨μ΄ μ΄λμ λ μ‘΄μ¬ν΄μΌ νλ€.
β’ μ΄λ Έν μ΄μ
- μ»΄νμΌλ¬μκ² μ΄λ€ μ 보λ₯Ό μ£Όλ κ²
=> μ»΄νμΌμμ νΉμ ν μ‘μ
μ μ·¨ν μ μκ² νλ κ²
public class Tank extends Unit {
@Override
public void Attack()
{
Pung();
}
public void Pung()
{
System.out.println("ν±ν¬ : ννν");
}
}
λ΄κ° λ§μ½μ UnitμΌλ‘ λΆν° μμλ°μ Attack()μ΄λΌλ λ©μλλ₯Ό μ¬μ μνλ €κ³ μμ±νμλ μ€μλ‘ Attack()μ Cttack()μ΄λΌλ μ€νλ₯Ό λ°μνμ κ²½μ° μ»΄νμΌλ¬λ Cattack()μ μλ‘μ΄ λ©μλλ₯Ό μμ±ν μ€ μκ³ μ€λ₯λ₯Ό λ°μμν€μ§ μλλ€.
κ·Έλ κΈ° λλ¬Έμ λμ€μ μ½λμ μ€λ₯λ₯Ό μ°ΎκΈ° μν΄ μ€λ μκ°μ΄ 걸릴 μλ μκ³ μΆνμ λ¬Έμ κ° λ°μλ κ°λ₯μ±μ΄ μλ€.
κ·Έλμ μ€λ²λΌμ΄λνκΈ° μν λ©μλμμ @Override λ₯Ό μ
λ ₯ν΄μ£Όκ³ λ©μλμ μ΄λ¦μ μ λͺ»μ
λ ₯νμλν΄λΉ νλ‘κ·Έλ¨μ Cattack()μ΄λΌλ λ©μλκ° μμΌλ μλ‘ λ§λ€κ±°λ μ΄λ¦μ λ³κ²½νλΌλ μλ¬λ₯Ό λ°μμν€κΈ° λλ¬Έμ μμ½κ² λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ€λ μ₯μ μ΄ μλ€.
β’ final ν΄λμ€
- final ν€μλλ ν΄λΉ μ μΈμ΄ μ΅μ’
μνμ΄κ³ , κ²°μ½ μμ λ μ μμμ μλ―Ένλ€.
- λ§μ½ ν΄λμ€ μμ finalλ₯Ό μ
λ ₯ν΄μ£Όμμ κ²½μ° μ΄ ν΄λμ€λ μ΅μ’
μ μΈ ν΄λμ€ μ΄λ―λ‘ μμμ λ°μ μ μκ² λλ€.
- λν μμμ΄ λΆκ°λ₯νλ μ€λ²λΌμ΄λ©λν λΆκ°λ₯ νλ€.
- ex) 보μκ΄λ ¨(κ°μΈμ 보), Globalμμ, only oneμ μ±κ²©μ΄λ©΄ finalμ μ¬μ©νλ€.
β’ protected μ κ·Όμ νμ
- μΈλΆν¨ν€μ§λ‘λΆν°μ λ³΄νΈ (μ 보μλ)
- ex) κ΄λ¦¬μ νμ΄μ§
μΈν°νμ΄μ€
μΈν°νμ΄μ€λΌλ μ©μ΄λ νλμ¨μ΄μμλΆν° μ¨ κ²μΌλ‘ μμ΄ν λ μμ€ν
μ μ°κ²°νλ μ μ , 곡ν΅κ·κ²©μ΄λΌλ μλ―Έλ₯Ό κ°μ§κ³ μλ€.
μ΄νμ μννΈμ¨μ΄μμ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ΄ λ±μ₯νκ³ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ νΉμ§μΈ μμμ΄ λ±μ₯νκ² λλ©΄μ μΌμ’
μ 곡ν΅λ κ²μ νλλ‘ λ¬Άμ΄μ£Όκ³ μ°κ²°ν΄μ€λ€λ μ‘°κΈ λ νμ₯λ μλ―ΈμΈ νλμ¨μ΄μμ μ¬μ©λλ μΈν°νμ΄μ€λΌλ μ©μ΄κ° μννΈμ¨μ΄μμλ μ¬μ©νκ² λ κ²μ΄λ€.
β’ κ·μ½
μΈν°νμ΄μ€μμ νΉμ§μ κ·μ½μ κ°μ§κ³ μλ€λ κ²μΈλ° κ·μ½μ λ€μ κ°μμ μΈ λλμ κ°μ§κ³ μμΌλ©° κΈ°μ‘΄μ μμμμ μ€λ²λΌμ΄λ© κ°μ κ²½μ° λ©μλλ₯Ό λ°λ‘ μ¬μ μ ν΄μ£Όμ§ μμλ λ¬Έμ κ° λ°μλμ§ μμμ§λ§ μΈν°νμ΄μ€ κ°μ κ²½μ°λ μΈν°νμ΄μ€λ΄μμ μ μΈλ λ©μλλ λ°λμ μ¬μ©ν΄μ£Όμ΄μΌ νλ€λ νΉμ§μ κ°μ§κ³ μλ€.
β’ νΉμ§
- ꡬνλΆκ° μ‘΄μ¬νμ§ μλλ€ => κ·μ½λ§μ μ 곡νλ€.
- μΈν°νμ΄μ€λ λͺ¨λ publicμ΄λ€.
- μμκ³Ό λμΌν λ©μΉ΄λμ¦(λ΄λΆμ μΌλ‘)μ κ°μ§κ³ μμ§λ§ μ½λ©μ extends(νμ₯)κ° μλ implements(ꡬν)λ₯Ό μ¬μ©ν΄μ€λ€.
- μΈν°νμ΄μ€λ "νμ₯μ΄ μλ ꡬν"μ΄λ€.
- μΈν°νμ΄μ€ λ΄μμλ μλ λ³μλ₯Ό μ μΈν μ μμΌλ, staticμ΄ μ¬μ©λ κ²½μ°λ κ°λ₯νλ€. => staticμ μ μμμμ ν΄λΉλκΈ° λλ¬Έμ νμμμ μΈν°νμ΄μ€νκ³ λ λ
립μ μ΄κΈ° λλ¬Έμ κΈ°κ³μ μΈ μ΄μ λ‘ μ¬μ©κ°λ₯ν λΏ κΆμ₯νμ§ μλλ€.
- μ€λ²λΌμ΄λ©μ ν λ μ¬μ©νλ μ΄λ
Έν
μ΄μ
@Overrideκ° μ¬μ© κ°λ₯νλ€.
β’ μ 리
'μλ > κ΅λΉμ§μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[D+22] Linked List (0) | 2022.10.24 |
---|---|
[D+22] μ½λ©λ°μ΄ (0) | 2022.10.22 |
[D+20] νλ‘κ·Έλλ° μΈμ΄ νμ© (0) | 2022.10.20 |
[D+19] μ€λ²λΌμ΄λ©κ³Ό μμκ΄κ³ (0) | 2022.10.19 |
[D+18] μμ (0) | 2022.10.18 |
λκΈ