All :L
[Java] ์๋ฐ ๊ธฐ๋ณธ ๋ณธ๋ฌธ
๋ฐ์ํ
๐ ์๋ฐ ๊ธฐ๋ณธ
1๏ธโฃ Variable
- ์๋ฃ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ผ๋ก ํ์
์ ๋ฐ๋ผ ํฌ๊ธฐ๊ฐ ๋ฌ๋ผ์ง.
- Type
- ๊ธฐ๋ณธํ: ์ ํด์ง ํฌ๊ธฐ
- ๋
ผ๋ฆฌํ : boolean
- ์ ์ํ : byte, short, int, long
- ์ค์ํ : float, double
- ๋ฌธ์ํ : char
- ๋
ผ๋ฆฌํ : boolean
- ์ฐธ์กฐํ: ์ฐธ์กฐ ์ฃผ์ ์ ์ฅ
- String(๊ฐ์ฒดํ)
- ์์ฃผ ์ฌ์ฉ๋๋ Strinig ๋ฉ์๋ ๊ธฐ์ตํด๋๊ธฐ
- ๋ด์ฉ์ผ ๊ฐ์ ๊ฒฝ์ฐ → equals() ์ฌ์ฉ
- ๊ฐ์ ๊ฐ์ฒด์ผ ๊ฒฝ์ฐ → == ์ฌ์ฉ
- String(๊ฐ์ฒดํ)
- ๊ธฐ๋ณธํ: ์ ํด์ง ํฌ๊ธฐ
- Type
2๏ธโฃ ํ ๋ณํ
- ๋ณ์์ ํ์ ๋ค๋ฅธ ํ์ผ๋ก ๋ณํํ๋ ๊ฒ
- ๊ธฐ๋ณธํ์ ํ ๋ณํ ์งํ
- ๋ช ์์ ํ ๋ณํ VS ๋ฌต์์ ํ ๋ณํ
- ํ์ ์ ํํ ๋ฒ์๊ฐ ์ปค์ง๋ ๋ฐฉํฅ์ผ๋ก ํ ๋นํ ๊ฒฝ์ฐ ๋ฌต์์ ํ๋ณํ ๋ฐ์
- ๋ช ์์ ํ๋ณํ์ ๊ฐ ์์ค์ด ๋ฐ์ํ ์ ์์ → ์ฑ ์ํ์ ํ๋ณํ ์งํ
- ๋ฌต์์ ํ๋ณํ์ ์๋ฃ์ ์์ค ๊ฑฑ์ X → ํ๋ณํ ์ฐ์ฐ ์๋ต
- ๊ธฐ๋ณธํ์ ํ ๋ณํ ์งํ
- ๊ณ์ฐํ๊ธฐ ์ ์ ํ ๋ณํ ํ๊ธฐ! → ๊ณ์ฐ ํ์ ํ๋ฉด X
- ๊ธฐ๋ณธํ๊ณผ ๊ฐ์ฒดํ์ ํ ๋ณํ
- wrapper class ํ์ฉ
- 8๊ฐ์ ๊ธฐ๋ณธํ์ ๋์ํ๋ 8๊ฐ์ class ์กด์ฌ
- ๊ธฐ๋ณธํ๊ณผ ๋ฌ๋ฆฌ ์ถ๊ฐ์ ์ธ ์์ฑ๊ณผ ๊ธฐ๋ฅ ํฌํจ
- Integer.MAX_VALUE
- Integer.MIN_VALUE
- Integer.compare(int a, int b)
- ํ๋ณํ ๊ด๋ จ ๋ฉ์๋
- Integer.parseInt(String str)
- Integer.valueOf(Integer i)
- Integer.intValue()
- wrapper class ํ์ฉ
3๏ธโฃ ์กฐ๊ฑด๋ฌธ
- if / else if / else
- switch expressions
- ํํ์ ์์ฒด๊ฐ ๊ฐ์ ๋ฐํ ๊ฐ๋ฅ, ์๋ break
- ์คํ ๋ผ์ธ์ด 1์ค์ธ ๊ฒฝ์ฐ : ๋นผ๊ณ → ์ด์ฉ
- block์ ๊ตฌ์ฑํด์ผ ํ๋ ๊ฒฝ์ฐ yleld ํค์๋ ์ฌ์ฉ
- ์ฌ๋ฌ ์กฐ๊ฑด์ ์ผํ๋ก ๊ตฌ๋ถํด ํ ๋ผ์ธ์ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ํํ์ ์์ฒด๊ฐ ๊ฐ์ ๋ฐํ ๊ฐ๋ฅ, ์๋ break
4๏ธโฃ ๋ฐ๋ณต๋ฌธ
- ์ด๊ธฐ๊ฐ / ์กฐ๊ฑด์ / ์ฆ๊ฐ์
๐ ๋ฐฐ์ด
1๏ธโฃ ๋ฐฐ์ด
- ๋์ผํ ํ์ ์ ๋ฐ์ดํฐ 0๊ฐ ์ด์ → ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ด๋ฆฌํ๋ ๊ฒ
2๏ธโฃ ๋ฐฐ์ด์ ์์ฑ๊ณผ ์ด๊ธฐํ
- Array ๋ง๋ค๊ธฐ #1
- ๋ณ์ [] ๋ณ์๋ช
;
- int [] points;
- ํ์
๋ณ์๋ช
[];
- String names [];
- ๋ณ์ [] ๋ณ์๋ช
;
- Array ๋ง๋ค๊ธฐ #2
- ์์ฑ๊ณผ ๋์์ ํ ๋นํ ๊ฐ์ผ๋ก ์ด๊ธฐํ
- int [] b = new int [] {1, 3, 5, 6, 8};
- int [] c = {1, 3, 5, 6, 8};
- ์ ์ธ๊ณผ ์์ฑ ๋ฐ๋ก ์ด๊ธฐํ ์ ์ฃผ์ ํ์
- ์ปดํ์ผ ์ค๋ฅ
- ๋ฐฐ์ด ํฌ๊ธฐ๋ฅผ ์ ์ ์์ ๋
- ์ปดํ์ผ ์ค๋ฅ
- for-each with Array
- ๊ฐ๋ ์ฑ ๊ฐ์ ๋ ๋ฐ๋ณต๋ฌธ
- ๋ฐฐ์ด ๋ฐ Collections์ ์ฌ์ฉ
- index ๋์ ์ง์ ์์์ ์ ๊ทผํ๋ ๋ณ์ ์ ๊ณต
- naturally read only ( copied value )
- ์ฌ์ฉ
int intArray[] = {1, 3, 5, 7, 9}; for(int x : intArray) { System.out.println(x); }
- Array is Immutable
- ๋ฑํธ์ ์ข์ธก์ ๋ฐฐ์ด x(์ฐธ์กฐํ๊ณ ์๋ ๋ ํผ๋ฐ์ค ํ์ ์ ๋ณ์์ผ ๋ฟ) / ์ฐ์ธก์ด ๋ฐฐ์ด
- ๋ฐฐ์ด์ ์ต์ด ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์ดํ, ๋ณ๊ฒฝํ ์ X
- ๊ฐ๋ณ ์์๋ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ
- but, ์์ ์ถ๊ฐ & ์ญ์ ํ ์ X
- ์์ฑ
- new keyword์ ํจ๊ป ์ ์ฅํ๋ ค๋ ๋ฐ์ดํฐ ํ์ ๋ฐ ๊ธธ์ด ์ง์
- ๋ฐฐ์ด ์์์ ์ด๊ธฐํ
- ๋ฐฐ์ด ์์ฑ๊ณผ ๋์์ ์ ์ฅ ๋์ ์๋ฃํ์ ๋ํ ๊ธฐ๋ณธ๊ฐ์ผ๋ก default ์ด๊ธฐํ
- ์์ฑ๊ณผ ๋์์ ํ ๋นํ ๊ฐ์ผ๋ก ์ด๊ธฐํ
3๏ธโฃ api ์ ๊ณตํ๋ ๋ฐฐ์ด ๋ณต์ฌ method
- System.arrayCopy
- Arrays.copyOf
๐ ๋ค์ฐจ์ ๋ฐฐ์ด
1๏ธโฃ ๋ค์ฐจ์ ๋ฐฐ์ด
- ๋ค์ฐจ์ ๋ฐฐ์ด์ ๋ฐฐ์ด์ ๋ฐฐ์ด์ ์๋ฏธ
- Java๋ 2์ฐจ์ ์ด์์ ๋ฐฐ์ด๋ ์ ์ธํ๊ณ ์ฌ์ฉ ๊ฐ๋ฅ
- ์ฃผ๋ก 2์ฐจ์ ๋ฐฐ์ด์ด ๋ง์ด ์ฌ์ฉ → ํ๋ ํ๋ ฌ ๋ฑ์ ํํํ ๋ ์ ์ฉ
2๏ธโฃ ๋ค์ฐจ์ ๋ฐฐ์ด ์ ์ธ๊ณผ ์ด๊ธฐํ
- 2์ฐจ์ ๋ฐฐ์ด ์ ์ธ
- ๋ฐฐ์ด์ ๊ฐ ์์๊ฐ ๋ ๋ค๋ฅธ 1์ฐจ์ ๋ฐฐ์ด์ ๊ฐ๋ฆฌํด.
int[][] arr; // 2์ฐจ์ ์ ์ํ ๋ฐฐ์ด ์ ์ธ
- ๋ฐฐ์ด ์์ฑ ๋ฐ ํฌ๊ธฐ ์ง์
- ์ฒซ ๋ฒ์งธ ๋๊ดํธ
[3]
๋ ๋ฐฐ์ด์ ํ(row) - ๋ ๋ฒ์งธ ๋๊ดํธ
[4]
๋ ์ด(column)
- ์ฒซ ๋ฒ์งธ ๋๊ดํธ
arr = new int[3][4]; // 3ํ 4์ด์ 2์ฐจ์ ๋ฐฐ์ด ์์ฑ
- ๋ฐฐ์ด ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ
- ์ ์์ ๋ 3x4 ํฌ๊ธฐ์ ๋ฐฐ์ด์ ์ ์ธ
- ๊ฐ ์์์ ์ด๊ธฐ ๊ฐ ํ ๋น
int[][] arr = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };
3๏ธโฃ ๋ค์ฐจ์ ๋ฐฐ์ด ์์ ์ ๊ทผ
- ๋ค์ฐจ์ ๋ฐฐ์ด์ ํน์ ์์ ์ ๊ทผ → ํ๊ณผ ์ด ์ธ๋ฑ์ค๋ฅผ ๋ชจ๋ ์ฌ์ฉ
- ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์
arr[1][2]
๋ ๋ ๋ฒ์งธ ํ์ ์ธ ๋ฒ์งธ ์ด์ ๊ฐ์ ๊ฐ์ ธ์ด
int value = arr[1][2]; // 2๋ฒ์งธ ํ, 3๋ฒ์งธ ์ด์ ์์์ ์ ๊ทผ
4๏ธโฃ ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ํ
- ์ค์ฒฉ for๋ฌธ ์ฌ์ฉ → ๋ค์ฐจ์ ๋ฐฐ์ด์ ๋ชจ๋ ์์ ์ํ
arr.length
๋ ๋ฐฐ์ด์ ํ ์๋ฅผ ๋ฐํarr[i].length
๋ ํน์ ํ์ ์ด ์๋ฅผ ๋ฐํ
for (int i = 0; i < arr.length; i++) { // ํ์ ๊ฐ์๋งํผ ๋ฐ๋ณต for (int j = 0; j < arr[i].length; j++) { // ํด๋น ํ์ ์ด ๊ฐ์๋งํผ ๋ฐ๋ณต System.out.print(arr[i][j] + " "); } System.out.println(); // ํ์ด ๋๋๋ฉด ์ค๋ฐ๊ฟ }
5๏ธโฃ ๊ฐ๋ณ ๊ธธ์ด ๋ฐฐ์ด (Jagged Array)
- Java๋ ๋ชจ๋ ํ์ด ๊ฐ์ ๊ธธ์ด์ผ ํ์ X → ๊ฐ๋ณ ๊ธธ์ด ๋ฐฐ์ด์ด๋ผ๊ณ ํจ
- ๊ฐ ํ์ด ๋ค๋ฅธ ๊ธธ์ด๋ฅผ ๊ฐ์ง ์ O
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์ธก๋ฉด์์ ์ ๋ฆฌ
int[][] jaggedArr = new int[3][]; // 3๊ฐ์ ํ์ ๊ฐ์ง ๊ฐ๋ณ ๊ธธ์ด ๋ฐฐ์ด ์ ์ธ jaggedArr[0] = new int[2]; // ์ฒซ ๋ฒ์งธ ํ์ ๊ธธ์ด๋ 2 jaggedArr[1] = new int[4]; // ๋ ๋ฒ์งธ ํ์ ๊ธธ์ด๋ 4 jaggedArr[2] = new int[3]; // ์ธ ๋ฒ์งธ ํ์ ๊ธธ์ด๋ 3
6๏ธโฃ ๋ค์ฐจ์ ๋ฐฐ์ด ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
- ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ → ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ฒ์ด๋ ์ ๊ทผ์
ArrayIndexOutOfBoundsException
์ค๋ฅ ๋ฐ์ - ๋ค์ฐจ์ ๋ฐฐ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฌ์ฉํ ์ ์์ → ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๊ณ ๋ คํด ์ค๊ณํ ํ์ O
๋ฐ์ํ
'STUDY > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์ ๋ค๋ฆญ (Generic) (2) | 2024.10.28 |
---|---|
[Java] ์ธํฐํ์ด์ค (Interface) (0) | 2024.10.26 |
[Java] ๋คํ์ฑ (Polymorphism) (0) | 2024.10.24 |
[Java] ์์ (Inheritance) (0) | 2024.10.20 |
[Java] ์ถ์ํ (Abstraction) (0) | 2024.10.18 |
Comments