κ΅λΉμ§μ D+14
- ν΄λμ€, μΆμν, μ°Έμ‘°νμ μμλ³μ -
ν΄λμ€
- ν΄λμ€λ λ°μ΄ν°μ λ©μλκ° κ²°ν©λ λ°μ΄ν° νμ
μ΄λ€.
- λ§μ½ λ°μ΄ν°μ λ©μλκ° λΆλ¦¬λμ΄ μμκ²½μ° λ©μλλ λ©μλλΌλ¦¬ λ°μ΄ν°λ λ°μ΄ν°λΌλ¦¬ κ°μμλ§ μ κ²½μ μ¨μ μ§μ€λκ° μ¬λΌκ°λ€λ μ₯μ μ΄ μμ μ μκ² μ§λ§ μμ€μ½λμ μμ΄ λμ΄κ°κ³ , κΈ°λ₯μ΄ λκ³ , 볡μ‘ν΄μ§κΈ° λλ¬Έμ μ 체μ μΈ κ΅¬μ‘°κ° λμ μ λμ§ μλλ€λ ν° λ¨μ μ΄ μλ€.
=> κ·Έλ κΈ° λλ¬Έμ ν΄λμ€λ₯Ό μ¬μ©νλ κ²μ λ§€μ° μ μ©ν μΌμ΄λ€.
μΆμν (Abstraction)
λ΄κ° ν΄λΌμ΄μΈνΈμκ² νμ¬ κ΄λ¦¬ νλ‘κ·Έλ¨μ λ§λ€λΌλ μ£Όλ¬Έμ λ°μλλ° κ·Έμ€μμ νμμ 보λ₯Ό λ§λ€λ €κ³ νλ€.
κ·Έλ λ€λ©΄ λλ μλ§λ νλ², μ΄λ¦, μ£Όμ λ±μ΄ νμν κ²μ΄λ€.
λλ μ΄λ¬ν μ 보λ₯Ό μ΄λμλΆν° κ°μ Έμ¨ κ²μΌκΉ?
λ§μ½ μ€μ λ‘ μ‘΄μ¬νλ νμμ΄ μλ€κ³ μκ°ν΄λ³΄μ. μ°λ¦¬λ μ΄ νμμ μ€μΈκ³μ κ°μ²΄λΌκ³ ν μ μλ€.
μ΄ νμμ΄ μ€μ λ‘ κ°μ§κ³ μλ μ 보λ 무νκ°λ‘ 무μν λ§μ κ²μ΄λ€.
κ·Έλ λ€λ©΄ μ°λ¦¬κ° λ§λ€ νλ‘κ·Έλ¨μμμ μ‘΄μ¬νλ νμμ΄ μλ€κ³ νλ€λ©΄ μ΄λ μμ€ν
μμμ κ°μ²΄λΌκ³ ν μ μλ€.
νλ‘κ·Έλ¨μμμμ νμμ΄ μ€μ κ°μ§κ³ μλ μ 보λ μ€μΈκ³μ κ°μ²΄κ° κ°μ§κ³ μλ μ 보μ²λΌ λ§μ μμ μ λ³΄κ° νμλ‘νλ κ²μ΄ μλλΌ μ°λ¦¬κ° νμλ‘νλ νμμ 보μ κ΄λ ¨λ λ°μ΄ν°μΈ νλ², μ΄λ¦, μ£Όμ λ±μ΄ μκ² λλ κ²μ΄λ€.
μ¦, μμ€ν
μμμ κ°μ²΄κ° κ°μ§κ³ μλ λ°μ΄ν°λ μ€μΈκ³μ κ°μ²΄κ° κ°μ§κ³ μλ λ°μ΄ν°λ€μ€μμ 골λΌμ¨ κ²μ΄λΌκ³ ν μ μλ κ²μ΄λ€.
μ΄λ κ² μ¬μ©μμ μꡬμ¬ν, μ€κ³μμ μꡬμ¬νμ μν΄ λ¬΄μμ΄ μ€μν κ²μΈμ§ μΈμ§νκ³ λ½μλ΄λ κ²μ μΆμνλΌκ³ νλ€.
λν, μΆμνλ₯Ό ν΅ν΄μ λ½μλΈ μ€κ³μ κ΄μ μ΄ λ€μ΄κ° νλ², μ΄λ¦, μ£Όμμκ°μ μ€κ³μ μΈ κ΄μ μ΄ λ€μ΄κ° λ°μ΄ν°λ₯Ό μμ±(attribute)μ΄λΌκ³ νλ€.
μΆμνλ₯Ό κΈΈκ² κΈλ‘ νννκ²μ κ°λ¨νκ² ννν κ²μ΄λ©°, μΆμνλ λ°μ΄ν°λ κΈ°λ₯μ λλ€μ λ¬Άμ΄λΈ κ²μ λ λμκ° μΊ‘μνλΌκ³ νλ μ μμλλλ‘ νμ.
• μΆμνκ° νμν μ΄μ
μΆμνλ₯Ό μ λλ‘ νμ§ μμΌλ©΄ κΈ°λ₯μ΄ μ νλλ©°, μ μ§λ³΄μκ° μ΄λ €μμ§λ€.
κ·Έλ‘μΈν΄ μ΄λ₯Ό ν΄κ²°νκΈ° μν΄μλ λ€μ μ½λλ₯Ό κ°μμμ΄μΌ νκΈ° λλ¬Έμ μ²μλΆν° λ§νμ½λκ° λμ΄λ²λ¦¬λ κ²μ΄λ€.
κ·Έλ κΈ° λλ¬Έμ μΆμνλ₯Ό μ μ¬μ©νλ©΄ λ°μ΄ν°μ νμ€μ΄ μΌλΌμΈλμ΄μ μ μ§λ³΄μκ° μ¬μΈ λΏλ§μλλΌ κΈ°λ₯μ΄ μ νλ κ°λ₯μ±μ΄ μ κΈ° λλ¬Έμ μΆμνλ₯Ό μ¬μ©ν μ μμΌλ©΄ λ°λμ μ¬μ©νλλ‘ νλ€.
μ°Έμ‘°νμ μμλ³μ
String str1 = "λ°λ΄λ΄";
String str2 = new String("λ°λ΄λ΄");
boolean result = str1.equals(str2);
μ°λ¦¬λ μ΄μ μ λ¬Έμμ΄μ΄ λμΌνμ§ νμ
νκΈ° μν΄μλ λΉκ΅μ°μ°μλ₯Ό μ¬μ©νλ κ²μ΄ μλλΌ equalsλ₯Ό μ¬μ©ν΄ λ¬Έμμ΄μ λΉκ΅νλ€κ³ νμ΅νμλ€.
μ΄λ μ°λ¦¬λ μ΄μ μ str1κ³Ό str2λΌλ μ°Έμ‘°λ³μλ₯Ό λ§λ νμ equalsλ₯Ό μ¬μ©ν΄μ£Όμλ€.
String nickName = new String("λ°λ΄λ΄");
boolean result = nickName.equals(new String("λ°λ΄λ΄"));
κ·Έλ λ€λ©΄ μ΄λ²μλ μ°Έμ‘°λ³μμμ λ¬Έμμ΄μ μμΉμ 보λ₯Ό λ£μ§ μκ³ λ°λ‘ equals μμ new String()μ ν΄μ κ°μ λ£κ²λλ©΄ μ¬λ°λ₯Έ κ²°κ³Όκ°μ΄ λμ€κ² λ κΉ?
μ¬μ€ μ΄ μ½λμμ μ€λ₯λ λνλμ§ μμΌλ©° trueλΌλ κ²°κ³Όλ₯Ό λ΄λλλ€.
νμ§λ§ μ°λ¦¬κ° κ²°κ³Όκ° λμ¨λ€λ κ²μ μ€μ μΌλ‘ λ΄μΌν κ²μ΄ μλλΌ μμ μ½λκ° κ³Όμ° trueλΌλ κ²°κ³Όκ°μ΄ λμ€κΈ°κΉμ§ μ΄λ€ λμκ³Όμ μ κ±°μΉλμ§ μ΄ν΄ν νμκ° μλ€.
μ°λ¦¬κ° κΈ°μ‘΄μ λ°°μ λ Stringνμ
μ Heapμ λ°μ΄ν°κ° μμΉν΄μ μμμ 보λ₯Ό λ°μΌλ©΄ μ΄ μμμ 보λ₯Ό μ€νμ μλ μ°Έμ‘°λ³μ μμ λ£μ΄μ£Όλ νμμΌλ‘ λ°°μ λ€.
μ΄λ¬ν λ
Όλ¦¬λΌλ©΄ μ¬μ€μ equalsμμ λ€μ΄κ° Stringνμ
λ λ³μμμ μ°Έμ‘°κ°μ λ£μ΄μΌ νλλ° μ°Έμ‘°λ³μκ° μκΈ° λλ¬Έμ μ°Έμ‘°κ°μ λ£μ κ³³μ΄ λ§λ ¨λμ΄ μμ§ μλ€λ©΄ μ΄λ»κ² μ½λκ° μ λλ‘ μ€νλλ κ²μΌκΉ?
newλ₯Ό μ¬μ©ν΄μ μ€νλ κ²½μ° λ°λμ μ€ννλ μμ ν΅ν΄μ λ겨μ€μΌ νλλ° μ¬μ€μ λ°μ μ μλκ² μλ μνμ΄λ€.
κ·Έλ°λ° μ΄λ μλ° μ»΄νμΌλ¬κ° μ½λλ₯Ό νμ΄λ³΄κ³ μ¬μ©μκ° μ κ·Όν μ μλ λμΆ© μ΄λ¦μ μ§μ΄μ μμλ³μλ₯Ό λ§λ€μ΄λ²λ¦°λ€.
κ·Έλ¦¬κ³ κ·Έ κ°μ λ³μμ λ£μ΄μ equalsμ λ£μ΄λ²λ €μ μ½λκ° μλνκ² λλ κ²μ΄λ€.
System.out.println("κ°λ€" + ".");
λΉμ·ν μλ‘ "κ°λ€"μ "."μ ν©μ³μ νλ©΄μ λμμ£Όλ μ½λμΈλ° νλ¦°νΈλ₯Ό ν λμλ ν©μΉ κ²°κ³Όλ₯Ό λ©λͺ¨λ¦¬ λΈλ‘μ λ§λ€μ΄μ λ£μ λ€μμ μμμ 보λ₯Ό λ£μ΄μ€ λ€μμ νλ©΄μ λμμ€μΌνλ κ²μ΄λ€.
κ·Έλμ μμλ³μλ₯Ό ν΅ν΄μ ν©μΉκ°μ λ©λͺ¨λ¦¬μ λ£κ³ ν©μΉ μ°Έμ‘°κ°μ λ³μμ λ£μ΄ μ€νν΄μ£Όλ©΄ μ λλ‘λ κ²°κ³Όλ₯Ό λ³Ό μ μκ² λλ κ²μ΄λ€.
System.out.println(1 + 2 + 3);
μ΄λν μμλ³μκ° μ¬μ©λ μμ΄λ€.
ν΄λΉ μ½λλ μ ν λ¬Έμ κ° μμ΄λ³΄μ΄μ§λ§ μ¬μ€ 보νΈμ μΈ μ»΄ν¨ν°λ μ°μ°μ 2κ°μ΄μ νκΊΌλ²μ μ²λ¦¬νμ§ λͺ»νλ€.
κ·Έλ κΈ° λλ¬Έμ μ¬μ€μ 1+2+3μ 1+2λ₯Ό λνλ€μμ λμ¨ κ²°κ³Όκ°μ 3μ λν΄μ£Όλ κ³Όμ μ΄ μλ΅λμ΄μλ κ²μ΄λ€.
κ·Έλ κΈ° λλ¬Έμ λ¨Όμ λν κ°μ μμλ³μλ₯Ό ν΅ν΄ λ£μ΄μ€ λ€μμ μ΄νμ λ€μ κ°μ λνλ κ³Όμ μ ν΅ν΄μ κ²°κ³Όκ°μ΄ λμ€κ² λλ κ²μ΄λ€.
μμλ³μ μ¬μ©μ μ£Όμμ¬ν )
μμλ³μλ μ½λλ₯Ό κ°κ²°νκ² μΈ μ μμΌλ©°, κ·Έλ‘μΈν΄ μ§κ΄μ μ΄λΌλ νΉμ§μ κ°μ§κ³ μμ§λ§ μμλ³μλ μ¬μ©μκ° μ κ·Όν μ μκΈ° λλ¬Έμ νλΌλ―Έν°λ‘ μ¬μ©λκ³ λ°λ‘ λ©λͺ¨λ¦¬λ₯Ό μμ΄λ²λ¦¬κ² λλ€.
κ·Έλ κΈ° λλ¬Έμ λ΄κ° νλΌλ―Έν°λ‘ λ£μ λ°°μ΄μ κ°μ νμΈνκ³ μΆμ λμλ λ©μλμμ ν΄λΉλ°°μ΄μ 리ν΄μμΌμ£Όμ΄μΌ κ°μ μμ΄λ²λ¦¬μ§ μκ³ νμΈν μ μκ² λλ€.
Bubble Sort μ 리
μ λ²λΆν° νμ΅νλ Bubble Sortλ₯Ό κΈ°λ°μΌλ‘ νλ‘κ·Έλ¨μ΄ μ΄λ»κ² μ μλμ΄μ§λμ§μ λν μ 보λ₯Ό κ·Έλ¦ΌμΌλ‘ ννν κ²μ΄λ€.
κ°λ¨νκ² μ€λͺ
ν΄λ³΄μλ©΄ λ²λΈμνΈλ‘ μ λ ¬ν μμλ νλ‘κ·Έλ¨μ μ½λλ₯Ό 지λ νμν λ°μ΄ν°λ₯Ό λμ§μ΄λ΄λ μΆμνμ μ΄λ¬ν κ²λ€μ λΉμ·ν κ² λΌλ¦¬ λ¬Άλ μΊ‘μν κ³Όμ μ ν΅ν΄μ λ§λ€μ΄ μ§κ²λλ€.
μ΄λμ BubbleSort()λΌλ ν΄λμ€λ μΆμνλ₯Ό ν΅ν΄ λ½μλΈ λ°μ΄ν°μΈ Attributeμ Methodλ‘ μ΄λ£¨μ΄μ Έμλ€.
κ°λ¨νκ² λμλλ μ½λλ₯Ό λ§λ€μλ€λ©΄ μ°λ¦¬λ μ½λμ μκ³ λ¦¬μ¦μ λΆμνμ¬ νλ‘κ·Έλ¨μ΄ μ’λ ν¨μ¨μ μΌλ‘ λμλκ² νκΈ° μν΄ μ΅μ ν κ³Όμ μ κ±°μΉκ²λλ€.
λν μμ±λ λ²λΈμ λ ¬μ ν΅ν΄ μ°λ¦¬λ Sortμ μΌλ°μ μΈ κ΅¬μ‘°λ₯Ό νμΈν μ μμΌλ©° sort λ°©μ, sort κΈ°μ€, swapμΌλ‘ ꡬμ±λμ΄ μλ€.
λ§μ§λ§μΌλ‘ μ’μ ν¨μλ₯Ό λ―Όλ€κΈ° μν΄μλ νλΌλ―Έν°μ 리ν΄λ²¨λ₯λ₯Ό μ κ²½μ¨μ€μΌ νλλ° νλΌλ―Έν°μμλ enumμ μ¬μ©ν΄ μ½λμ κ°λ
μ±κ³Ό κ°κ±΄μ±μ λμ¬μ£Όκ³ 리ν΄λ²¨λ₯μμλ μ½λμμμ μμλ³μλ₯Ό μμ±νκ³ μ¬μ©ν μΌμ΄ μκ²Όμ κ²½μ° κΌ μμλ³μμμ μλ κ°μ 리ν΄ν΄μ£Όλ ν¨μλ₯Ό λ§λ€μ΄ μ£Όμ΄μΌ νλ€.
'μλ > κ΅λΉμ§μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[D+16] ꡬ쑰μ νλ‘κ·Έλλ°, κ°μ²΄μ§ν₯μ νλ‘κ·Έλλ° (0) | 2022.10.13 |
---|---|
[D+15] λ©λͺ¨λ¦¬λ§΅ 볡μ΅, ν΄λμ€(μμ±μ, static) (0) | 2022.10.12 |
[D+13] Sort, Bubble Sort (0) | 2022.10.10 |
[D+13] μ½λ©λ°μ΄ (0) | 2022.10.10 |
[D+12] class ν΄λμ€ (1) | 2022.10.05 |
λκΈ