λ©΄μ μ μν CS μ 곡μ§μ λ ΈνΈ
2μ£Όμ°¨ : 1-2 νλ‘κ·Έλλ° ν¨λ¬λ€μ (p.56 ~ p.65)
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ΄λ κ°μ²΄λ€μ μ§ν©μΌλ‘ νλ‘κ·Έλ¨μ μνΈ μμ©μ νννλ©° λ°μ΄ν°λ₯Ό κ°μ²΄λ‘ μ·¨κΈνμ¬ κ°μ²΄ λ΄λΆμ μ μΈλ λ©μλλ₯Ό νμ©νλ λ°©μμ λ§ν©λλ€.
μ€κ³μ λ§μ μκ°μ΄ μμλλ©° μ²λ¦¬ μλκ° λ€λ₯Έ νλ‘κ·Έλλ° νλ¬λ€μμ λΉν΄ μλμ μΌλ‘ λ리λ€λ λ¨μ μ κ°μ§κ³ μμ΅λλ€.
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ νΉμ§μ μ΄ 4κ°μ§λ‘ λλ μ μμ΅λλ€.
μΆμν - 볡μ‘ν μμ€ν μΌλ‘λΆν° ν΅μ¬μ μΈ κ°λ λλ κΈ°λ₯μ κ°μΆλ €λ΄λ κ²μ μλ―Έν©λλ€.
μΊ‘μν - κ°μ²΄μ μμ±κ³Ό λ©μλλ₯Ό νλλ‘ λ¬Άκ³ μΌλΆλ₯Ό μΈλΆμ κ°μΆμ΄ μλνλ κ²μ λ§ν©λλ€.
μμμ± - μμ ν΄λμ€μ νΉμ±μ νμ ν΄λμ€κ° μ΄μ΄λ°μμ μ¬μ¬μ©νκ±°λ μΆκ°, νμ₯νλ κ²μ λ§ν©λλ€.
λ€νμ± - νλμ λ©μλλ ν΄λμ€κ° λ€μν λ°©λ²μΌλ‘ λμνλ κ²μ λ§ν©λλ€.
μμ ν¨μλ λμΌν μΈμκ° μ λ¬λλ©΄ νμ λμΌν κ²°κ³Όλ₯Ό λ°ννλ ν¨μλ₯Ό μλ―Έν©λλ€. μ¦, μ¬μ΄λ μ΄ννΈ μμ΄ μΈνμ λνμ¬ λμΌν μμνμ λ±λ ν¨μλ₯Ό μλ―Έν©λλ€.
μΈλΆ λ³μλ₯Ό μ°Έμ‘°νκ±°λ, λ³κ²½νλ μ¬μ΄λ μ΄ννΈκ° μκΈ° λλ¬Έμ κ²°κ³Όλ₯Ό μμΈ‘ν μ μλ€λ νΉμ§μ κ°μ‘μ΅λλ€. κ·Έλ¦¬κ³ λ°μ΄ν°μ λΆλ³μ±μ 보μ₯νλ map, filter, reduceλ₯Ό μ¬μ©νμ¬ μμ±ν μ μμ΅λλ€.
μ€λ²λΌμ΄λ©μ μ£Όλ‘ λ©μλ μ€λ²λΌμ΄λ©μ λ§νλ©° μμ ν΄λμ€λ‘λΆν° μμλ°μ λ©μλλ₯Ό νμ ν΄λμ€κ° μ¬μ μνλ κ²μ μλ―Έν©λλ€.
class Animal { public void bark() { System.out.println("mumu! mumu!"); } } class Dog extends Animal { @Override public void bark() { System.out.println("wal! wal!"); } } public class Main { public static void main(Sting[] args) { Dog d = new Dog(); d.bark(); } }
μμ μ½λλ₯Ό 보면 λΆλͺ¨ ν΄λμ€λ mumu! mumu!λ‘ μ§κ² λ§λ€μμ§λ§ μμ ν΄λμ€μμ wal! wal!λ‘ μ§κ² λ§λ€μλλ μμ ν΄λμ€ κΈ°λ°μΌλ‘ λ©μλκ° μ¬μ μλ κ²μ νμΈν μ μμ΅λλ€. 그리νμ¬ μΆλ ₯ κ²°κ³Όλ wal! wal!λ‘ μ€λ²λΌμ΄λ© λ κ²μ νμΈν μ μμ΅λλ€.