λΉ λ₯Έ μμ½
μ΄ νμλ νλ‘κ·Έλλ°μμ μ λ€λ¦ κ°λ
μ μ΄μ μ λ§μΆκ³ , κ°μ²΄ μ ν μ¬μ©μ λΉν΄ κ·Έ μ₯μ κ³Ό κ°μ²΄λ₯Ό μμ±ν λ μ νμ μ§μ νλ λ°©λ²μ λν΄ λ
Όμνμ΅λλ€. ν λ‘ μ λν κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ λ€μ΄μΊμ€ν
μ νκ³μ κ°μ²΄λ₯Ό μμ±ν λ μ¬λ°λ₯Έ μ νμ μ§μ νλ μ€μμ±μ λν΄ λ€λ£¨μμ΅λλ€. λν νμμμλ μ¬λ¬ μμλ₯Ό ν¬ν¨ν μ μλ λμ λ°μ΄ν° κ΅¬μ‘°μΈ Collection Frameworkμ μ΄ νλ μμν¬λ₯Ό ꡬμ±νλ λ€μν μΈν°νμ΄μ€ λ° ν΄λμ€μ λν΄ λ€λ£¨μμ΅λλ€.
λ€μ λ¨κ³
β’ λΆμν μ μλ λ―Έν
κΈ°λ‘μ΄λ λ€μ λ¨κ³κ° μ 곡λμ§ μμ΅λλ€. λ―Έν
κΈ°λ‘κ³Ό μΆμΆλ λ€μ λ¨κ³λ₯Ό 곡μ ν΄ μ£Όμλ©΄, νμμ λ°λΌ μ 리νκ³ μμλ₯Ό 맀기λ λ° λμμ λλ¦¬κ² μ΅λλ€.
μμ½
νλ‘κ·Έλλ°μμ 'Generics'λ₯Ό μ€λͺ
ν©λλ€.
νμμμ ALOHAλ νλ‘κ·Έλλ°μμ μ λ€λ¦ κ°λ
μ λ
Όμνμ΅λλ€. κ·Έλ μ λ€λ¦μ΄ κΈ°λ³Έμ μΌλ‘ λͺ¨λ ν΄λμ€ μ νμ μ²λ¦¬ν μ μλ ν΄λμ€μ λ©μλλ₯Ό μ μνλ κΈ°μ μ΄λΌκ³ μ€λͺ
νμ΅λλ€. ALOHAλ λ€μν μ νμ λ³μλ₯Ό κ°μ§ "bloodline"μ΄λΌλ ν΄λμ€λ₯Ό μμ±νμ¬ μ λ€λ¦μ μ¬μ©νλ λ°©λ²μ 보μ¬μ£Όμμ΅λλ€. λν, μ λ€λ¦ ν΄λμ€λ₯Ό λ§λ€κ³ λ€λ₯Έ μ νμ κ°μ²΄λ₯Ό μ²λ¦¬νλ λ° μ¬μ©νλ λ°©λ²μ λ³΄μ¬ μ£Όμμ΅λλ€. ALOHAλ "box" ν΄λμ€μ μμλ₯Ό μ¬μ©νμ¬ μ λ€λ¦μ€μ κ°λ
μ μ€λͺ
νμ΅λλ€. λν κ°μ²΄λ₯Ό λ§λ€ λ μ νμ μ§μ νλ κ²μ΄ μ€μνλ©°, μ λ€λ¦μ€κ° λ€μν μ νμ κ°μ²΄λ₯Ό μ²λ¦¬νλ λ° μ΄λ»κ² μ¬μ©λ μ μλμ§μ λν΄ λ
Όμνμ΅λλ€.
Generic Programming Techniquesμ μ₯μ
μ΄ ν λ‘ μ νλ‘κ·Έλλ°μμ μΌλ° κΈ°μ , νΉν κ°μ²΄ μ ν μ¬μ©μ λΉν΄ κ·Έ μ₯μ μ μ΄μ μ λ§μΆ₯λλ€. λ°νμλ μ λ€λ¦μ΄ λ€μ΄μΊμ€ν
μμ΄λ μ νλ³ μμ
μ κ°λ₯νκ² νμ¬ λ°νμ μ€λ₯κ° λ°μν μ μλ€κ³ μ€λͺ
ν©λλ€. μ΄λ€μ μ¬λ¬ μ ν 맀κ°λ³μλ₯Ό κ°μ§ μΌλ° ν΄λμ€λ₯Ό λ§λ€κ³ , λ€λ₯Έ λ°μ΄ν° μ νκ³Ό ν¨κ» μ΄λ»κ² μ¬μ©ν μ μλμ§ λ³΄μ¬μ€λλ€. μ°μ¬λ λν μ λ€λ¦μ΄ λ―Έλ ν λ‘ μμ λ€λ£° μ μλ λ°©λ²μ μ μ©λ μ μλ€κ³ μΈκΈν©λλ€.
μ£Όμ μ΄μ μ μ¬μ ν μ λ€λ¦μ λ°©λ²μΌλ‘ μ μ©νλ λ°©λ²μ κ°λ₯΄μΉλ λ° μμ΅λλ€.
νλ‘κ·Έλλ°μ μΌλ°ν: μ ν λ²μ μ ν
νμμμ Alohaλ νλ‘κ·Έλλ°μμ μ λ€λ¦μ κ°λ
μ λ
ΌμνμΌλ©°, νΉν μ ν λ²μ μ νμ μ΄μ μ λ§μ·μ΅λλ€. κ·Έλ μ λ€λ¦μ λͺ¨λ ν΄λμ€ μ νμ μ¬μ©ν μ μμ§λ§, μ νμ λ²μλ₯Ό μ ννλ λ°μλ μ¬μ©λ μ μλ€κ³ μ€λͺ
νμ΅λλ€. Alohaλ νΉμ μ ν 맀κ°λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό λ§λ€κ³ , μ ν λ²μλ₯Ό νΉμ ν΄λμ€μ κ·Έ νμ ν΄λμ€λ‘λ§ μ ννμ¬ μ΄λ₯Ό 보μ¬μ£Όμμ΅λλ€. κ·Έλ λν "Number"μ "Housekeeper"μ κ°μ ν΄λμ€λ₯Ό μ¬μ©νμ¬ κ°λ
μ μ€λͺ
νλ μμ λ₯Ό μ 곡νμ΅λλ€. λνλ Alohaκ° μ°Έκ°μλ€μκ² μμ μ μ½λμμ μ λ€λ¦μ ꡬννλ μ°μ΅μ κΆμ₯νλ©΄μ λλ¬μ΅λλ€.
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ λ€μ΄μΊμ€ν νκ³
νμμμ ALOHAλ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμμ λ€μ΄μΊμ€ν
μ νκ³λ₯Ό λ
Όμνμ΅λλ€. κ·Έλ€μ λ€μ΄μΊμ€ν
μ μν΄μλ κ°μ²΄κ° λΆλͺ¨ ν΄λμ€μ λμΌν μ νμ΄μ΄μΌ νλ©°, κ°μ²΄μ μ νμ μ
λ°μ΄νΈνμ§ μκ³ λ€μ΄μΊμ€νΈνλ €λ μλλ μ€λ₯λ‘ μ΄μ΄μ§ κ²μ΄λΌκ³ μ€λͺ
νμ΅λλ€. ALOHAλ λν λΆλͺ¨ κ°μ²΄ μ νμ μμ κ°μ²΄ μ νμΌλ‘ μ§μ νλ κ²μ΄ νμ©λμ§ μλ λ¬Έμ λ₯Ό λ
Όμνμ΅λλ€. κ·Έλ€μ μ«μ νμμ κ°λ
κ³Ό κ·Έκ²μ΄ κ°μ²΄ ν¬κΈ°λ₯Ό μ§μ νλ λ° μ΄λ»κ² μ¬μ©λ μ μλμ§μ λν΄ λ μ€λͺ
νμ΅λλ€. ALOHAλ λν "setT" λ©μλλ₯Ό μ¬μ©νμ¬ κ°μ²΄μ μ νμ μ€μ νλ λ°©λ²μ λ³΄μ¬ μ£Όμμ΅λλ€. λνλ ALOHAκ° κ°μ²΄λ₯Ό λ§λ€ λ μ¬λ°λ₯Έ μ νμ μ§μ νλ κ²μ΄ μ€μνλ€λ κ²μ ν λ‘ νλ©΄μ λλ¬μ΅λλ€.
ν λ‘ μ μΌλ° νλ‘κ·Έλλ° κΈ°μ κ³Ό κ·Έ μμ©μ μ€μ μ λ‘λλ€. λ°νμλ μΌλ°μ μ¬μ©νμ¬ ν΄λμ€ μ νμ μ μνλ λ°©λ²μ μ€λͺ
νκ³ νΉμ λ²μ λ΄μμ μ νμ μ ν ν κ°λ₯μ±μ μΈκΈν©λλ€. κ·Έλ€μ λν μΌλ°μ μΈ λ°©λ²κ³Ό μ ν μ νμ λν΄ μΈκΈν©λλ€. λν μ λ°μ κ±Έμ³ "λ¨μ± κ°μ λΆ"μ λν μμ£Ό μΈκΈμ΄ μμ§λ§, κ·Έ λ§₯λ½μ λͺ
ννμ§ μμ΅λλ€. μ°μ¬λ μΌλ° ꡬλ
μ μμ μ΄ν΄λ³΄κ³ μμ²μλ€μ΄ μ μ μ€λμ§ λ¬Όμ΄λ³΄λ©° κ²°λ‘ μ λ΄λ¦½λλ€.
ν¨μ μμ¦κ³Ό ν¬μΌλͺ¬ ν λ‘
κ·Έλ£Ήμ 컬λ μ
, ν¨μ
μμ¦, ν¬μΌλͺ¬ λ± λ€μν μ£Όμ λ₯Ό λ
Όμν©λλ€. κ·Έλ€μ ν¨μ
μμ SS (λ΄ / μ¬λ¦) λ° FW (κ°μ / 겨μΈ) 컬λ μ
μ μΈκΈν©λλ€. λνλ ν¬μΌλͺ¬μΌλ‘ λμ΄κ°λ©°, μλ ν¬μΌλͺ¬ μμ λν μκ²¬μ΄ λ€λ¦
λλ€. λμ€μ κ·Έλ€μ λ©μμ§ μ±μΈ μΉ΄μΉ΄μ€ν‘μμ λ¬Έμ κ° λ°μνλ€κ³ μ΄μΌκΈ°ν©λλ€. κ·Έλ€μ Melon (μμ
μ€νΈλ¦¬λ° μλΉμ€)μ ν¬ν¨ν μ¬λ¬ μλΉμ€κ° KakaoTalk μ μ μΌλ‘ μΈν΄ μ¬μ©μ μΈμ¦ λ¬Έμ κ° λ°μνλ€κ³ μ§μ ν©λλ€.
ν¨μ
κ³Ό μΆμ λν μΊμ£ΌμΌ μ±ν
νμμμ ALOHAλ μ΄λ¦ λ³κ²½, YouTube μμ
, μΌνλͺ°, ν¨μ
μμ΄ν
λ° λΈλμμ νΈλ μ΄λλ₯Ό ν¬ν¨ν λ€μν μ£Όμ μ λν΄ λ
Όμνμ΅λλ€. ALOHAλ λν κΏμ μ·μ°¨λ¦Ό, μΈν
λ¦¬μ΄ μ
λ°μ΄νΈ, κ·Έλ¦¬κ³ μλμ°¨μ λν΄ μΈκΈνμ΅λλ€. λνλ μΊμ£ΌμΌνκ³ κ°λ°©μ μ΄μμΌλ©°, ALOHAλ λ€λ₯Έ μ¬λλ€μκ² μμ μ μκ°κ³Ό μ견μ 곡μ νλλ‘ μ₯λ €νμ΅λλ€.
Collection Framework κ°μ λ° μ€μμ±
νμμμ ALOHAλ μ¬λ¬ μμλ₯Ό μ μ₯νκ³ μμ μμ λ°λΌ ν¬κΈ°λ₯Ό μ‘°μ ν μ μλ λμ λ°μ΄ν° κ΅¬μ‘°μΈ Collection Frameworkμ λν΄ λ
Όμνμ΅λλ€. ALOHAλ 컬λ μ
νλ μμν¬μ μ΄λ¬ν λ°μ΄ν° ꡬ쑰λ₯Ό λ ν¨μ¨μ μΌλ‘ μ²λ¦¬νκΈ° μν λ€μν λ°μ΄ν° ꡬ쑰μ μκ³ λ¦¬μ¦μ΄ ν¬ν¨λμ΄ μλ€κ³ μ€λͺ
νμ΅λλ€. νλ μμν¬λ List, Set, Queue λ° Mapκ³Ό κ°μ μΈν°νμ΄μ€μ ArrayList, LinkedList, Vector λ° HashMapκ³Ό κ°μ ν΄λμ€λ‘ ꡬμ±λ©λλ€. ALOHAλ 컬λ μ
νλ μμν¬μμ μ§μ λ μ νμ κΈ°λ³Έ μ νμ΄ μλλΌ μ°Έμ‘° νμμΌ μ μλ€κ³ κ°μ‘°νμ΅λλ€. λνλ ν¨μ¨μ μΈ λ°μ΄ν° μ²λ¦¬λ₯Ό μν΄ μ»¬λ μ
νλ μμν¬λ₯Ό μ΄ν΄νλ κ²μ΄ μ€μνλ€λ μ μ λν ν λ‘ μΌλ‘ λλ¬μ΅λλ€.
Java 컬λ μ κ°μ λ° κ΅¬ν
μ΄ κ°μλ List, Set λ° Map μΈν°νμ΄μ€μ μ΄μ μ λ§μΆ Java 컬λ μ
μ λ€μν μΈ‘λ©΄μ λ€λ£Ήλλ€. ArrayList, Vector λ° LinkedListμ ꡬ쑰μ λ©μλλ₯Ό μ€λͺ
νκ³ κ΅¬νκ³Ό μ±λ₯μ μ°¨μ΄μ μ κ°μ‘°ν©λλ€. μ°μ¬λ λν HashSetκ³Ό HashMapμ λν΄ λ
Όμνλ©° μ€λ³΅ λ°©μ§ λ° ν€-κ° νμ΄λ§κ³Ό κ°μ κ³ μ ν νΉμ±μ κ°μ‘°ν©λλ€. κ°μλ 컬λ μ
μμ κ°μ²΄ λΉκ΅ λ° μ λ ¬μ μ¬μ©λλ Comparable λ° Comparator μΈν°νμ΄μ€μ λν μκ°λ‘ λλ©λλ€.