κ΅λΉμ§μ D+19
- μ€λ²λΌμ΄λ©κ³Ό μμκ΄κ³ -
μ€λ²λΌμ΄λ©κ³Ό μμκ΄κ³
μ€λ²λΌμ΄λ©
- κ°μ²΄μ§ν₯μ νΉμ±μ€ λ€νμ±μ ν΄λΉλλ€.
- λ€νμ± : 본체λ νλμΈλ° ννκ° μ¬λ¬κ°
- μ€λ²λΌμ΄λ©μ μμκ΄κ³μ μλ λΆλͺ¨ ν΄λμ€μμ μ΄λ―Έ μ μλμ΄μλ λ©μλλ₯Ό μμ ν΄λμ€μμ κ°μ λ°©μμ κ°μ§λ λ©μλλ‘ λ€μ μ¬μ μ νλ κ²μ΄λ€.
- μμλ°μ λΆλͺ¨ ν΄λμ€λ‘ λΆν° λ°μ λ©μλλ₯Ό μ¬μ μνμ¬ μ¬μ©νλ κ²μ΄λ€.
μμκ΄κ³
// λΆλͺ¨ ν΄λμ€ : TV
// μμ ν΄λμ€ : SmartTV
TV tv = new SmartTV(ipAddress, channel); // O
μμκ΄κ³μμ λΆλͺ¨ν΄λμ€μ μ°Έμ‘°λ³μλ‘ μμν΄λμ€ μ κ·Όμ΄ κ°λ₯νλ€.
λΆλͺ¨ν΄λμ€ TVμ μ°Έμ‘°κ°κ³Ό μμλ μμ ν΄λμ€μΈ SmartTVμ μ°Έμ‘°κ°μ΄ λμΌνκΈ° λλ¬Έμ λΆλͺ¨ν΄λμ€μ μ°Έμ‘°λ³μμμ μμν΄λμ€μ μ°Έμ‘°κ°μ΄ λ€μ΄κ°λ λ¬Έμ κ° μκΈ°μ§ μλ κ²μ΄λ€.
λ€λ§ λΆλͺ¨ν΄λμ€μ μ°Έμ‘°λ³μ μμ μμν΄λμ€λ₯Ό μμ λ£μμλ μκ² μ§λ§ μμν SmartTVκ°μ²΄μμλ§ μ¬μ©λλ λ©μλλ νλλ μ¬μ©ν μ μκ³ TVκ°μ²΄ μμμ μ¬μ©λλ νλμ λ©μλλ§ μ¬μ©μ΄ κ°λ₯νλ€.
μ¬κΈ°μ μ£Όμν΄μΌν μ μ SmartTVμ κΈ°λ₯μ μ¬μ©ν μ μμ λΏμ΄μ§ λ©μλλ νλλ μ‘΄μ¬νλ€λ κ²μ΄λ μμ§ μλλ‘ νλ€.
// λΆλͺ¨ ν΄λμ€ : TV
// μμ ν΄λμ€ : SmartTV
SmartTV smtv = new TV(channel); // X
μμν΄λμ€μ μ°Έμ‘°λ³μλ‘ λΆλͺ¨ν΄λμ€ μ κ·Όμ΄ λΆκ°λ₯νλ€.
λ©μλ μ¬μ μ
μλ₯Όλ€μ΄ μ κ΅°μ λ§λλ©΄ 곡격μ νλ μ μλΆλλ₯Ό λ§λ€κ³ μΆλ€κ³ νμ.
κ·Έλ λ€λ©΄ ν±ν¬, 보λͺ , μ ν¬κΈ°μ λν ν΄λμ€λ₯Ό λ§λ€κ³ κ° κ³΅κ²©νλ λ©μλλ₯Ό λ§λ λ€μμ λ©μΈμμ μ€νλ μ μλλ‘ μ½λλ₯Ό μ§λ©΄ λ κ²μ΄λ€.
// λ©μΈ
public class Tmain {
public static void Attack(Tank[] ts, Fighter[] fs, Footman[] ms)
{
for(int i = 0; i < ts.length; i++)
{
ts[i].Pung();
}
for(int i = 0; i < fs.length; i++)
{
fs[i].Pyong();
}
for(int i = 0; i < ms.length; i++)
{
ms[i].Tang();
}
}
public static void main(String[] args) {
Tank[] ts = new Tank[3];
Fighter[] fs = new Fighter[2];
Footman[] ms = new Footman[5];
ts[0] = new Tank();
ts[1] = new Tank();
ts[2] = new Tank();
fs[0] = new Fighter();
fs[1] = new Fighter();
ms[0] = new Footman();
ms[1] = new Footman();
ms[2] = new Footman();
ms[3] = new Footman();
ms[4] = new Footman();
Attack(ts, fs, ms);
}
}
κ° νμ μ λν λ°°μ΄μ λ§λ€κ³ λ°°μ΄μμ κ°μ²΄λ₯Ό λ§λ€μ΄ μ€ λ€μ Attackμ΄λΌλ λ©μλλ₯Ό λ§λ€μ΄ λ°°μ΄λ€μ νλΌλ―Έν°λ‘ λ°μλ΄ forλ¬Έμ λλ € μ€νλ μ μλλ‘ λ§λ€ μ μμ κ²μ΄λ€.
κ·Έλ¬λ μ΄ μ½λλ μ μ€νλλ κ²μ λ³Ό μ μμ§λ§ μνκΉκ²λ λ§μ½ μΊλ¦ν°κ° μμλͺ μ΄λΌλ©΄ μ°λ¦¬λ Attackμ λν κ°μ νλΌλ―Έν°μ μμλ² λ£μ΄μ€μΌνλ©°, νλΌλ―Έν°λ‘ λ°μ κ°μ λ리기 μν΄ λ¬΄μν μμ forλ¬Έμ΄ μ¦κ°νκ² λλ μνκΉμ΄ μν©μ΄ λ°μλκ² λλ κ²μ΄λ€.
μ¦ μννμ₯μ΄ λ°μλ λλ§λ€ μ½λμ 볡μ‘λκ° μμΉνκ² λλ κ²μ΄λ€.
μ΄λ₯Ό ν΄κ²°νκΈ° μν΄μ μ°λ¦¬λ μμμ μ¬μ©ν΄ λ¬Έμ λ₯Ό ν΄κ²°ν΄λ³΄λλ‘ νκ² λ€.
λ¨Όμ Unitμ΄λΌλ ν±ν¬, 보λ³, μ ν¬κΈ°λ₯Ό κ΄λ¦¬ν΄μ€ λΆλͺ¨ ν΄λμ€λ₯Ό λ§λ€μ΄ μ€λ€.
μ΄λ Unitμμλ Attackμ΄λΌλ 곡격μ νλ λ©μλλ₯Ό λ§λ€μ΄ μ€λ€.
μ΄ μλ―Έλ μ΄μ μμΌλ‘ Unitμ μμλ°μ ν΄λμ€λ€μκ² κ³΅κ²©μ 무쑰건 Attack λ©μλλ₯Ό μ¬μ©νλΌλ μΌμ’ μ κ·μ½μ κ±Έμ΄λλ κ²μ΄λ€.
κ·Έλ¦¬κ³ λμ κ° ν΄λμ€μ μμμ ν΄μ€λ€ 곡격νλ λ©μλλ₯Ό Attackμ λ£μ΄μ£Όκ²λλ©΄ λ©μΈμ΄ ν¨μ¬ κ°κ²°ν΄μ§ κ²μ νμΈν μ μλ€.
μ°λ¦¬λ μ΄λ κ² μμν΄λμ€μμ λΆλͺ¨ν΄λμ€κ° κ°μ§κ³ μλ λ©μλλ₯Ό μ¬μ©νλ λ΄μ©μ μ¬μ€μ ν΄μ€κ²μ λ©μλμ μ¬μ μλΌκ³ νλ€.
// λ©μΈ
public class Tmain {
public static void Attack(Unit[] units)
{
for(int i = 0; i < units.length; i++)
{
units[i].Attack();
}
}
public static void main(String[] args) {
Unit[] units = new Unit[12];
units[0] = new Tank();
units[1] = new Tank();
units[2] = new Tank();
units[3] = new Fighter();
units[4] = new Fighter();
units[5] = new Footman();
units[6] = new Footman();
units[7] = new Footman();
units[8] = new Footman();
units[9] = new Footman();
units[10] = new Medic();
units[11] = new Medic();
Attack(units);
}
}
μ½λλ₯Ό 보면 κ° μΊλ¦ν°μ λν κ°μ²΄λ₯Ό Unitsμ΄λΌλ μ°Έμ‘° λ°°μ΄μ νκΊΌλ²μ λ£κ³ Attackμ μ¬μ©ν μμ λ°μ νλΌλ―Έν°λ unitsνλμ΄λ©°, Attack λ©μλ μμ μ¬μ©λλ λ°λ³΅λ¬Έλ νλλ§ μ€νλλ κ²μ νμΈν μ μλ€.
μ°λ¦¬λ μ΄λ κ² λ©μλμ μ¬μ μλ₯Ό ν΅ν΄ μ½λμ 볡μ‘λλ₯Ό κ°μμν€κ³ μ νμ±μ λμ¬μ€ μ½λλ₯Ό λ§λ€κ² λ κ²μ΄λ€.
public static void main(String[] args) {
Unit[] units = new Unit[12];
units[0] = new Tank();
units[1] = new Tank();
units[2] = new Tank();
units[3] = new Fighter();
units[4] = new Fighter();
units[5] = new Footman();
units[6] = new Footman();
units[7] = new Footman();
units[8] = new Footman();
units[9] = new Footman();
units[10] = new Medic();
units[11] = new Medic();
Attack(units);
}
κ·Έλ°λ° μ¬κΈ°μ μ°λ¦¬λ νκ°μ§ μλ¬Έμ μ΄ λ€ μλ μμ κ²μ΄λ€.
λΆλͺ λΆλͺ¨ν΄λμ€ μ°Έμ‘°λ³μλ‘ μμν΄λμ€λ₯Ό μ°Έμ‘°κ°μ λ£μλ μ κ·Όνμ© λ²μκ° λΆλͺ¨ν΄λμ€λ°μ μλλ€κ³ νλλ° μμ μ½λμ²λΌ unitsλΌλ μ°Έμ‘°λ³μμ μμν΄λμ€λ€μ κ°μ²΄μμ±μ λν μ°Έμ‘°κ°μ΄ λ€μ΄κ°κ² λ κ²½μ° units[μΈλ±μ€].Attack()μ μ€νν κ²½μ° λΆλͺ¨ ν΄λμ€μ Attackμ΄ μ€νλμ΄μΌ νμ§ μμκΉ?
μ΄λ μ°λ¦¬κ° μμμΌν κ²μ μμν΄λμ€μμ Attack()μ μ¬μ μν κ²½μ° ν μ΄λΈμ λ§λ€μ΄μ μ΄λ ν ν΄λμ€μ Attack()μ μ μ©ν μ§μ λν΄ κ³ λ₯΄κ² λλλ° λ°λ‘ μ€μ ν΄μ£Όμ§ μμΌλ©΄ μ¬μ μκ° λ κ°μ΄ μ°μ κΆμ κ°μ§κ² λμ΄ μμν΄λμ€μ Attack()μ΄ μ€νλλ κ²μ΄λΌκ³ μΌλ¨μ μμλμ.
μ 리
'μλ > κ΅λΉμ§μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[D+21] μμ κ΅μ¬μ 리, μΈν°νμ΄μ€ (0) | 2022.10.20 |
---|---|
[D+20] νλ‘κ·Έλλ° μΈμ΄ νμ© (0) | 2022.10.20 |
[D+18] μμ (0) | 2022.10.18 |
[D+18] ν΄λμ€ κ΅μ¬μ 리 (0) | 2022.10.17 |
[D+17] Queue (0) | 2022.10.17 |
λκΈ