์๋ฐ์์ ์ ๋ค๋ฆญ์ ํด๋์ค ๋ด๋ถ์์ ์ฌ์ฉํ ๋ฐ์ดํฐํ์ ์ ์ธ๋ถ์์ ์ง์ ํ๋ ๊ฒ!
์ฆ, ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ ์ ๋ฏธ๋ฆฌ ํ์ ์ด ์ง์ ๋๋ค.
์ฌ์ฉ์ด์ ? ํ์ ์์ ์ฑ
๋ฆฌ์คํธ ๊ฐ์ฒด๋ฅผ ์๋ฅผ ๋ค๋ฉด..
ArrayList<String> List = new ArrayList<>(); // ๋ท์ชฝ์ ์ ๋ค๋ฆญ์ ํ์ ์ ์๋ต ๊ฐ๋ฅ
๋ฆฌ์คํธ ํด๋์ค ์๋ฃํ์ ํ์ ์ String์ผ๋ก ์ง์ ๋์ด, ๋ฌธ์์ด ๋ฐ์ดํฐ๋ง ๋ฆฌ์คํธ์ ์ ์ฌ ๊ฐ๋ฅํจ!
์ฐ๋ฆฌ๊ฐ ๋ณ์๋ฅผ ์ ์ธํ ๋ ๋ณ์์ ํ์ ์ ์ง์ ํด์ฃผ๋ฏ,
์ ๋ค๋ฆญ์ ๊ฐ์ฒด(Object)์ ํ์ ์ ์ง์ ํด์ฃผ๋ ๊ฒ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
์ ๋ค๋ฆญ ํ์ ์ ์ข ๋ฅ
=> ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ ์ธ๋๋ ๋ฐฉ์์ด์ง ๋ฌด์กฐ๊ฑด ์ง์ผ์ผํ๋ ๊ท์น์ ์๋
<T> : Type
<K> : Key
<V> : Value
<E> : Element
<N> : Number
<R> : Result
<S>, <U>, <V> … ๋ฑ ์ฌ๋ฌ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ ๋ ์ด์ฉํ ์ ์๋ค.
์ ๋ค๋ฆญ ํด๋์ค๋ ๊ธฐ๋ณธํ ํ์ (int, double, char,...)์ ์ง์ ํ ์ ์๋ค.
=> Integer, Double๊ณผ ๊ฐ์ ์ฐธ์กฐํ ํ์ ์ ํ์ฉํ์ฌ ์ง์ ํด์ผํ๋ค.
Wrapper ํด๋์ค
์๋ฐ์ ๊ธฐ๋ณธ ์๋ฃํ(int, float, double, char..)์ ์ํ ํด๋์ค
๋งค๊ฐ๋ณ์๊ฐ ๊ฐ์ฒด์ด๊ฑฐ๋ return๊ฐ์ด ๊ฐ์ฒด์ธ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์๋ฃํ์ ๊ฐ์ฒดํ์ผ๋ก ์ฌ์ฉํ๋ค.
int Wrapperํด๋์ค๋ Integer๋ก ํด๋น ํด๋์ค์ parseInt๋ฉ์๋๋ฅผ ํ์ฉํ์ฌ ๋ฌธ์์ด๋ก ์ทจ๊ธ๋๋ "1"์ ์ซ์๋ก ๋ฐํํ ์๋ ์๋ค. ๋ํ ์ปฌ๋ ์ ํ๋ ์์ํฌ์ ์ ๋ค๋ฆญ์ผ๋ก ํ์ ์ ์ง์ ํด์ฃผ๋ ๊ฒฝ์ฐ Wrapper ํด๋์ค๋ฅผ ์จ์ผํ๋ค!
// String -> int
int num = Integer.parseInt("10");
// int -> String
String str = Integer.toString(10);
์ปฌ๋ ์ ํ๋ ์์ํฌ (Collection Framework (API, ๋ผ์ด๋ธ๋ฌ๋ฆฌ) : ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌํํด ๋์ ํด๋์ค)
- SET / LIST / MAP
1) Set : ์ค๋ณตํ์ฉ X
=> ๊ตฌํ์ฒด ํด๋์ค : HashSet, LinkedHashSet(์์), TreeSet(์ ๋ ฌ)
=> ์๋ ๋น ๋ฅธ ์์ : HashSet > LinkedHashSet > TreeSet
2) LIST : ๋ฐฐ์ด์ฒ๋ผ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง๋ฉฐ ํฌ๊ธฐ ๋ณ๊ฒฝ ๊ฐ๋ฅ
=> ๊ตฌํ์ฒด ํด๋์ค : ArrayList, LinkedList, Vector
=> ArrayList VS Vector : ๋ฉํฐ์ฐ๋ ๋ ์์ ์ฌ๋ถ!
ArrayList (์์ X) / Vector(์์ O)
=> ArrayList VS LinkedList : ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ ๋ (get, select, ๊ฐ์ ธ์ฌ๋) ArrayList๊ฐ ๋น ๋ฆ
๋ฐ์ดํฐ ์ถ๊ฐ/์ญ์ (์๋ค)๋ ๋๊ฐ์
๋ฐ์ดํฐ ์ค๊ฐ ์ถ๊ฐ/์ญ์ ๋ LinkedList๊ฐ ๋น ๋ฆ
3) Map : key, value ํ์์ผ๋ก ๋ฐ์ดํฐ ์ ์ฅ
=> ๊ตฌํ์ฒด ํด๋์ค : HashMap, LinkedHashMap(์์), TreeMap(์ ๋ ฌ)
Map<String, String> map = new HashMap<>();
์ ๋ค๋ฆญ์ ๋ฌธ์์ด๋ก ์ง์ ํ๋ ๋งต ๊ฐ์ฒด
'๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ์คํฌ๋ฆฝํธ / ์คํฌ๋ฆฝํธ ์ธ์ด (0) | 2025.01.19 |
---|---|
HTTP ํ๋กํ ์ฝ (0) | 2025.01.19 |
ํ๋ก์ธ์ค(Process) vs ์ค๋ ๋(Thread) ๋? (0) | 2025.01.19 |
์ต๋ช ํด๋์ค(์ต๋ช ๊ฐ์ฒด) ๋? (0) | 2025.01.19 |
์คํํฑ (static) ์ด๋? (0) | 2025.01.19 |