μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- κΉλ―Έκ²½μλ§νμμ
- λ μ
- ComputerScience
- μΉνμ΄μ§λ§λ€κΈ°
- νλ‘κ·Έλλ°
- JavaScript
- database
- μ€λΈμ
- ν°μ€ν 리μ±λ¦°μ§
- Java
- λ°μν
- Kλ°°ν°λ¦¬
- μ½λ©
- λ°μ΄ν°λ² μ΄μ€
- μν
- μ€λΌν΄
- λΌνλΌμ€μλ§λ
- κ°λ°
- μλ°μ€ν¬λ¦½νΈ
- Python
- μ»΄ν¨ν°κ³Όν
- μλ°
- λ§μΌλ΄κ°μΈμμλ€μμ°λ€λ©΄
- css
- 리μ‘νΈ
- νμ΄μ¬
- μΉνΌλΈλ¦¬μ±
- Kλ°°ν°λ¦¬λ 볼루μ
- html
- μ±
- Today
- Total
JiYoung Dev π₯
[μλ£κ΅¬μ‘°μ μκ³ λ¦¬μ¦] λ°°μ΄ (2023.03.30) λ³Έλ¬Έ
μλ£/μ 보/μλ£κ΅¬μ‘°
μλ£
νμ€ μΈκ³λ‘λΆν° μμ§ν μ¬μ€μ΄λ κ°λ μ κ° λλ μ΄λ€μ μ§ν©
μ¬μ μ²λ¦¬, κ°κ³΅μ΄ μ λ μμ§ μν
μ 보
νΉμ ν μ©λλ‘ μ¬μ©νκΈ° μν΄ 'μλ£'λ₯Ό μ²λ¦¬νκ³ κ°κ³΅ν νν
μλ£κ΅¬μ‘°
μλ£λ€μ ν¨μ¨μ μΌλ‘ μ²λ¦¬νκΈ° μν΄ μ‘°μ§μ , 체κ³μ μΌλ‘ ꡬλΆνμ¬ ννν κ²
λ°°μ΄ (Array)
μ¬λ¬κ°μ§ λ°μ΄ν°λ₯Ό ν λ²μ 보κ΄ν μ μλ νν
λμΌν μλ£ν(μ μν, λ¬Έμμ΄ λ±)μ λ°μ΄ν°λ₯Ό μ°μλ 곡κ°μ μ μ₯νκΈ° μν μλ£κ΅¬μ‘°
μΈλ±μ€(index)μ μΈλ±μ€μ λμνλ λ°μ΄ν°λ€λ‘ μ΄λ£¨μ΄μ§ μ°μμ μΈ μλ£κ΅¬μ‘°
λ°°μ΄μ νΉμ§
1.λμΌν μλ£νμ λ°μ΄ν°λ€μ΄ μμ°¨μ μΌλ‘ μ μ₯ (λ°μ΄ν°λ€μ μμκ° μμ)
> μΈλ±μ€μ λμνλ λ°μ΄ν°λ€λ‘ μ΄λ£¨μ§ μλ£ κ΅¬μ‘°
β» μΈλ±μ€ : κ°μ₯ 첫λ²μ§Έ λ€μ΄ μλ λ°μ΄ν°λ 0, κ·Έ λ€μ λ°μ΄ν°λ 1, ... → λ°μ΄ν°μ μμ
> λ°λ³΅λ¬Έμ μ΄μ©νμ¬ μ²λ¦¬νκΈ°μ μ ν©ν μλ£ κ΅¬μ‘°
2. μΈλ±μ€μ λμνλ λ°μ΄ν°λ€λ‘ μ΄λ£¨μ΄μ§ μλ£ κ΅¬μ‘°
> ν λ²μ λ§μ λ©λͺ¨λ¦¬ κ³΅κ° μ μΈ κ°λ₯
> λ³μλ κ°μ νλ λ°μ μ μ₯νμ§ λͺ»νλ©°, νλμ κ°λ§ μ μ₯ν μ μλ λ§νΌμ λ©λͺ¨λ¦¬λ§ μμ±
3. μΈλ±μ€λ 0λΆν° μμ
> μΈλ±μ€λ λ°°μ΄μ μμ μμΉλ‘λΆν° μλμ μμΉ
λ°°μ΄μ νμ©νλ©΄ νλ²μ 보κ΄μ΄ κ°λ₯νκ³ νλ²μ μ²λ¦¬ κ°λ₯νμ¬ μ¬μ© κ°λ₯
λ³μλ κ°κ° λ€λ₯Έ 곡κ°μ μ μ₯
λ°°μ΄μ μ μΈ λ° μμ±
λ°°μ΄μ λ°μ΄ν°λ₯Ό λ€λ£¨κΈ° μν΄μλ λ°°μ΄μ 0λ² μΈλ±μ€μ μ£Όμκ°(μ°Έμ‘°κ°, reference)μ μκ³ μμ΄μΌ ν¨
λ°°μ΄ μμ±
λ°μ΄ν°λ₯Ό μ μ₯ν λ°°μ΄ κ³΅κ°μ ν λΉλ°λ λ¨κ³
new int[5]; // μ μν 5κ°λ₯Ό μ μ₯ν μ μλ λ°°μ΄ μμ±
new μλ£ν[λ°°μ΄μν¬κΈ°]
new (λ΄κ° νμν λꡬλ₯Ό λ§λ€μ΄μΌ ν λ μ°λ ν€μλ)
λ°°μ΄ λ νΌλ°μ€ λ³μ(reference variable) μ μΈ
μ΄ μ μΈλ§μΌλ‘λ λ°°μ΄ κ³΅κ°μ΄ ν λΉλμ§ μμΌλ―λ‘ λ°°μ΄ μμ±μ ν΄μ€μΌ ν¨.
arrμ λ°°μ΄ κ³΅κ°μ λν μ£Όμκ°(λ νΌλ°μ€κ°)μ κ°μ§λ©° κ·Έ μμ²΄κ° λ°°μ΄μ μλ.
int[] arr ;
μλ£ν[] λ³μμ΄λ¦
arr : λ°°μ΄μμ 0λ² μΈλ±μ€κ° κ°μ§κ³ μλ μ£Όμ
0λ² μΈλ±μ€κ° λ©λͺ¨λ¦¬μμ μ΄λμ μ‘΄μ¬νλμ§, λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κ°μ§κ³ μμ. μ£Όμλ₯Ό μμμΌ λ©λͺ¨λ¦¬μ λ°μ΄ν°λ₯Ό μ¬μ©ν μ μκΈ° λλ¬Έμ λ°°μ΄ λ νΌλ°μ€ λ³μλ₯Ό μ μΈμ ν΄μΌ λ°°μ΄μ μ¬μ©ν μ μμ
β» μΈλ±μ€κ° 0λΆν° μμνλ μ΄μ
0λ² μΈλ±μ€λ₯Ό κΈ°μ€μΌλ‘ μ£Όμλ₯Ό μ°ΎκΈ° λλ¬Έ
arrμ΄ κ°μ§κ³ μλ 0λ² μΈλ±μ€μ μ£Όμλ‘λΆν° λͺ μΉΈ λ¨μ΄μ Έμλμ§ νμΈ
λ νΌλ°μ€ λ³μ(reference variable)
λ©λͺ¨λ¦¬ μμ μμ±λ μΈμ€ν΄μ€μ λ©μλλ₯Ό κ°λ¦¬ν€λλ° μ¬μ©λλ λ³μ
λ°°μ΄ μ μΈνλ©΄ λ©λͺ¨λ¦¬ μμ μ°μλ κ³΅κ° ν λΉ
→ λ°°μ΄μ΄ λ©λͺ¨λ¦¬ μ μ΄λμ μμ±λμλμ§ κ·Έ λ νΌλ°μ€ κ°(μ£Όμ κ°, μ°Έμ‘° κ°)μ κΈ°μ΅νκ³ μλ λ³μ
μλ£κ΅¬μ‘°λ₯Ό μ΄ν΄ν λλ λ©λͺ¨λ¦¬λ₯Ό κ°μ΄ μ΄ν΄ν΄μΌ ν¨ (λ©λͺ¨λ¦¬μ ꡬ쑰)
μ½λμμ
μ€νν νλ‘κ·Έλ¨μ μ½λ
μ½λλ μ΄λ―Έ μμ±λμ΄ μμΌλ―λ‘ ν¬κΈ°κ° μ ν΄μ Έ μμ
λ°μ΄ν° μμ (Static area)
νλ‘κ·Έλ¨μ΄ μμνμλ§μ λ©λͺ¨λ¦¬μμ μ¬λΌκ°
μ μ λ³μ
μ μλ³μλ, ν΄λμ€ λ΄ μ΄λμλ μ¬μ© κ°λ₯ν λ³μλ‘ ν΄λμ€ μ΄λ¦ λ°λ‘ λ°μ μμ±λκ³ λ©μλ λ°μ μ μΈλμ΄ μμ΄μΌ ν¨.
λ³μλ μ μΈμμΉμ λ°λΌ μ μλ³μμ μ§μλ³μλ‘ λλ μ§λλ° ν΄λμ€ λ΄ μ΄λμλ μ¬μ©ν μ μμΌλ©΄ μ μλ³μ, νΉμ ꡬμ({}) μμμλ§ μμ±λμ΄ κ·Έ μ§μμμλ§ μ¬μ©ν μ μλ λ³μλ μ§μλ³μ
μ μ (static) λ³μ
νλ‘κ·Έλ¨μ΄ μμλμλ§μ μ μΈλλ λ³μλ‘ μ μΈ μμΉλ μκ΄ μμ (staticμ΄λΌλ ν€μλκ° λΆμ΄μμ)
μλ° μΈμ΄μ νΉμ§ μ€ νλλ "λμ λ‘λ©μ μ§μ"νλ€λ κ².
μλ° μΈμ΄μμλ λ³μ, κ°μ²΄λ₯Ό μ μΈνμ¬ μ½λλ₯Ό μμ±. λ§μ½ λμ λ‘λ© μ§μμ΄ μλλ€λ©΄ νλ‘κ·Έλ¨μ μμνμλ§μ μ½λ μμμ μ μΈν λ³μ, κ°μ²΄λ₯Ό μμ±ν΄μ μ λΆ λ©λͺ¨λ¦¬μμ ν λΉν΄μ€μΌ ν¨. μ΄λ κ² νλ‘κ·Έλ¨μ μμνμλ§μ νλ‘κ·Έλ¨ μ 체μ λν΄ κ³΅κ°μ ν λΉνλ©΄ λ©λͺ¨λ¦¬ νμ©μ΄ λΉν¨μ¨μ μ.
μ΄λ¬ν λΉν¨μ¨μ μ€μ¬ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ©νκΈ° μν΄ μλ°λ κ°μ²΄/λ³μλ₯Ό μ¬μ©νκ² λ€κ³ νμ λ κ°μ²΄/λ³μλ₯Ό μμ±ν¨. κ·Έλ¬λ μ μ λ³μλ κ·Έλ μ§ μμ. μ μ λ³μλ 무쑰건 μ²μμ λ§λ€μ΄λλ λ³μλ‘ νλ‘κ·Έλ¨ μμλΆν° μ’ λ£κ° λ λκΉμ§ λ©λͺ¨λ¦¬μ λ¨μμμ΄ μ΄λμλ μ¬μ©ν μ μμ.
μ μ λ³μμ μ μλ³μλ κ°μκ° μ ν΄μ Έ μμ → ν¬κΈ°κ° κ³ μ λμ΄ μμ
ν μμ (Heap area)
μ¬μ©μμ λμ ν λΉ(νλ‘κ·Έλ¨ μ€νμ λ°λΌ ν¬κΈ°κ° λ¬λΌμ§)
μ°Έμ‘°νμ λ°μ΄ν° νμ μ κ°λ κ°μ²΄(Random, Scanner λ±), λ°°μ΄ λ±(new ν€μλλ₯Ό μ¬μ©νμ¬ λ§λλ μ λ€)μ μ μ₯νλ μμ
β» μ°Έμ‘°κ°(μ£Όμ)λ stackμμμ μ μ₯
μ€μ λ‘ μ¨μΌνλ κ°λ€μ΄ μ μ₯λλ μμ
μ€ν μμ (Stack area)
νλ‘κ·Έλ¨ μ€νμ λ°λΌ ν¬κΈ°κ° λ¬λΌμ§
κΈ°λ³Έμλ£νμ λ°μ΄ν°μ ν΄λΉνλ μ§μλ³μλ₯Ό μ μ₯νλ μμ
κ°μ²΄λ₯Ό μ°Έμ‘°νκΈ° μν΄ λ§λ λ νΌλ°μ€ λ³μλ₯Ό μ μ₯νλ μμ
λ©μλκ° νΈμΆλ λ λ©λͺ¨λ¦¬μ ν λΉλλ©° μ’ λ£λλ©΄ ν΄μ
λ°°μ΄ μ μΈ λ° μμ±μ μ£Όμμ¬ν
λ νΌλ°μ€ λ³μ μ μΈ μ λ°°μ΄μ ν¬κΈ°λ₯Ό μ§μ ν μ μλ€
int[] arr = new int[5];
↑ ↑ ν¬κΈ° 5μΈ μ μν λ°°μ΄μμ± (ν μμμ μ μ₯)
μμ±ν λ°°μ΄μ νμμ μ μ£Όμκ°μ μ μ₯ → [] μμ ν¬κΈ°λ₯Ό μ§μ ν μ μμ
λ°λμ λ°°μ΄μ΄ μμ±λ ν μ κ·Όν μ μλ€
int[] arr; → λ°°μ΄μ μ£Όμκ°μ μ μ₯ν 곡κ°λ§ λ§λ€μ΄ λμ κ². λ νΌλ°μ€ λ³μ μ μΈ (λ°°μ΄ μμ± X)
arr[0] → λ°°μ΄μ΄ μμ±λ κ²μ΄ μλλ―λ‘ λ°°μ΄μ μ κ·Ό λΆκ°
int[] arr; → λ νΌλ°μ€ λ³μ μ μΈ
arr = new int[]; → λ°°μ΄ μμ±
arr[0] μ κ·Ό κ°λ₯
κ° μμμ μ κ·Όμ []μ¬μ΄μ μΈλ±μ€λ₯Ό μ μ΄ μ κ·Ό
arr[0]; -- arrμ΄ κ°μ§κ³ μλ μ£Όμκ°μ κ°μ§κ³ λ°°μ΄μ μ°Ύμκ°μ 0λ² μΈλ±μ€κ° κ°μ§κ³ μ¬λ
arr[4]; -- 4λ² μΈλ±μ€ κ° κ°μ§κ³ μ¬λ
λ°°μ΄μ μΈλ±μ€λ 0λΆν° μμνλ€
λ νΌλ°μ€λ³μκ° 0λ² μΈλ±μ€κ° μ΄λμ μ μ₯λμ΄ μλμ§λ₯Ό μ μ₯νκ³ μκΈ° λλ¬Έ
λ°°μ΄ μ μΈ λ° μμ± μ½λ μμ±
λ°°μ΄μ λ²μλ₯Ό λμ΄μ°λλ° μ½λ μ μ€λ₯ νκΈ°(λΉ¨κ° λ°μ€)κ° μλλ μ΄μ
: μλ°λ λμ λ‘λ©μ μ§μνκΈ° λλ¬Έμ λ°°μ΄, κ°μ²΄μ κ²½μ° μ€ννκΈ° μ κΉμ§λ arrμ ν¬κΈ°λ₯Ό μ μ μμ
try ~ catch μμΈμ²λ¦¬λ¬Έ νμ©νμ¬ μ€λ₯μ½λ λμ λ€λ₯Έ λ©μμ§ μΆλ ₯ κ°λ₯
λ°°μ΄ μμ± μ κ°μ μκ³ μλ κ²½μ°
int[] arr = { κ°1, κ°2, ... , κ°n }
λ νΌλ°μ€ μΉνκ³Ό λ°°μ΄ κ³΅μ
int intArray[] = new int[5] ;
int myArray[] = intArray ; // λ νΌλ°μ€ μΉν. myArrayλ intArrayμ λμΌν λ°°μ΄μ μ°Έμ‘°νλ€.
μ°Έμ‘°κ°μ΄ κ°μΌλ©΄ κ°μ κ°μ²΄λ₯Ό κ°λ¦¬ν¨λ€
λ°°μ΄μ ν¬κΈ°
• λ νΌλ°μ€ λ³μ μ μΈ μ κ²°μ λμ§ μμ
• λ°°μ΄ μμ±μ κ²°μ λλ©° λ°κΏ μ μμ (ν¬κΈ° μ§μ μ΄ μ€μ!)
• λ°°μ΄μ ν¬κΈ°λ λ°λ‘ λ€λ£° μ μμ → length μμ±
μ¬λ°λ₯Έ λ°°μ΄ μ μΈ λ¬Έμ → 6, 7
1. λ νΌλ°μ€ λ³μλͺ μμ. λ°°μ΄ μμ±μ [ ] μ¬μ©ν΄μΌ ν¨
2. avgλ μ¬λ°λ₯Έ μλ£νμ΄ μλλ€
3. λ νΌλ°μ€ λ³μ μ μΈμμλ ν¬κΈ° μ μΈ λΆκ°λ₯
4. λ°°μ΄ μμ±μ μλ£ ν¬κΈ° 무쑰건 μ§μ ν΄μΌ ν¨
5. λ°°μ΄ μμ±μ ν¬κΈ° μ§μ μ μν΄ [ ] μ¬μ©ν΄μΌ ν¨
8. λ νΌλ°μ€ λ³μλͺ μμλ ν¬κΈ° μ§μ μλ¨
λ°°μ΄μ€μ΅
λ°°μ΄μ λͺ¨λ κ° μΆλ ₯ ;
Arrays λꡬ(κ°μ²΄)κ° κ°μ§κ³ μλ toString λ©μλ νΈμΆ
toString λ°ννμ ? String
β» μ μν λ°°μ΄μ κ΅¬μ± μμλ μλμΌλ‘ 0μΌλ‘ μ΄κΈ°ν
'full stack > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] λ©μλ (2023.03.31) (0) | 2023.03.31 |
---|---|
[μλ£κ΅¬μ‘°μ μκ³ λ¦¬μ¦] λ°°μ΄ λ¬Έμ νμ΄ (2023.03.31) (0) | 2023.03.31 |
[JAVA] λ©μλ (2023.03.30) (0) | 2023.03.30 |
[JAVA] forλ¬Έ, μ΄μ€ forλ¬Έ λ¬Έμ νμ΄ (2023.03.28) (0) | 2023.03.28 |
[JAVA] Whileλ¬Έ λ¬Έμ νμ΄, for λ°λ³΅λ¬Έ (2023.03.27) (0) | 2023.03.27 |