๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Note for moment16

[Java] ํด๋ž˜์Šค ๋กœ๋“œ, ์ž๋ฐ” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ, ์ง€์ •์ž 1. ํด๋ž˜์Šค๊ฐ€ ๋กœ๋“œ๋˜๋Š” ์ˆœ์„œ 1) ํด๋ž˜์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋กœ๋“œ๋˜์–ด ํด๋ž˜์ฆˆ(clazz) ํ˜•ํƒœ๋กœ static์˜์—ญ์— ์œ„์น˜ [ ํด๋ž˜์ฆˆ์˜ ๊ตฌ์„ฑ์š”์†Œ : ํ•„๋“œ, ์ƒ์„ฑ์ž, ๋ฉ”์†Œ๋“œ ] 2) ํด๋ž˜์ฆˆ์˜ ์ƒ์„ฑ์ž(new์—ฐ์‚ฐ์ž ํ™œ์šฉ)๋กœ๋ถ€ํ„ฐ ์ธ์Šคํ„ด์Šค๋ฅผ heap์— ์ƒ์„ฑ [ ์ธ์Šคํ„ด์Šค์˜ ์š”์†Œ : ํด๋ž˜์Šค, ํ•„๋“œ (๋ฉ”์†Œ๋“œ ์—†์Œ!) ] ์ด๋•Œ ํ•„๋“œ๋Š” ์ฃผ๋กœ ์€๋‹‰ํ™” ์ฒ˜๋ฆฌ → ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅ ๋”ฐ๋ผ์„œ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ ‘๊ทผ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„์€ ์˜ค์ง ํด๋ž˜์Šค(ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋กœ๋ถ€ํ„ฐ ํ˜ธ์ถœ๋œ ๊ฒƒ) 3) ์ธ์Šคํ„ด์Šค์˜ ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ณ€๊ฒฝ ๋ฐ ์‹คํ–‰ ํ•˜๊ธฐ ์œ„ํ•ด stack์˜์—ญ์— ์ฐธ์กฐ๋ณ€์ˆ˜ ์ƒ์„ฑ ์ฐธ์กฐ๋ณ€์ˆ˜๋Š” Heap์˜ ํ•„๋“œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ธฐ์— ํด๋ž˜์Šค์— ์ ‘๊ทผ! ํด๋ž˜์Šค๋กœ static๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ํ•„๋“œ๋ณ€๊ฒฝ๋„ ๊ฐ€๋Šฅ 2. Java์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ 3. ์ง€์ •์ž(Modifier) 1) ์ ‘๊ทผ.. 2020. 9. 3.
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฐ "๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)" 1. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ณ„ ํŠน์ง• 2. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP, Oriented Object Programming) : ๊ฐ์ฒด ์ค‘์‹ฌ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด : ํด๋ž˜์Šค๋ฅผ ์ธ์Šคํ„ด์Šค๋กœ ํ™œ์šฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅ : ๋น„์Šทํ•œ ํ”„๋กœ๊ทธ๋žจ(๊ธฐ๋Šฅ)์„ ํด๋ž˜์Šค๋กœ ํ˜ธ์ถœํ•˜์—ฌ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ > ์ƒ์‚ฐ์„ฑ, ํšจ์œจ์„ฑ, ํ™•์žฅ์„ฑ ์šฐ์ˆ˜ → ๋ฐฐํฌํŒŒ์ผ์„ ํ™œ์šฉ(์†Œ์ŠคํŒŒ์ผ์ด ์•„๋‹Œ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ) : ์š”์†Œ - ๊ฐ์ฒด(๊ฐœ์ฒด/์†์„ฑ/๋ฉ”์†Œ๋“œ), ํด๋ž˜์Šค, ๋ฉ”์„ธ์ง€ 3. OOP ํŠน์ง• 4. ์˜ค๋ฒ„๋กœ๋“œ์™€ ์˜ค๋ฒ„๋ผ์ด๋“œ์˜ ์ฐจ์ด์  2020. 9. 3.
[List] ArrayList, Vector, LinkedList 1. List Interface : Link์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š” ์ž๋ฃŒ๊ตฌ์กฐ - ArrayList, Vector, LinkedList ๋“ฑ ArrayList ์ด ํด๋ž˜์Šค๋Š” Synchronized(X) : ์†๋„๊ฐ€ ์กฐ๊ธˆ ๋น ๋ฆ„, ๋™๊ธฐํ™”์ฒ˜๋ฆฌ ํ•„์š”์—†๋Š” ๊ฒฝ์šฐ ์ฃผ๋กœ ์‚ฌ์šฉ Vector ์ด ํด๋ž˜์Šค๋Š” Synchronized(O) : ์†๋„๊ฐ€ ์กฐ๊ธˆ ๋А๋ฆผ : ์š”์†Œ์˜ ์ˆœ์„œ ์ €์žฅ๋˜๋ฉฐ, ์ค‘๋ณต ์ €์žฅ ๊ฐ€๋Šฅ : ๊ฐ’์„ ์—ฌ๋Ÿฌ๊ฐœ ์ €์žฅํ›„ ์ผ๊ด„์ฒ˜๋ฆฌ๊ฐ€ ๋ชฉ์  : ์ผ๊ด„์ฒ˜๋ฆฌ > ๋ฐ˜๋ณต์ง€์‹œ์ž Iterator ๋˜๋Š” for (์ž๋ฃŒํ˜• ๋ณ€์ˆ˜๋ช…:collection) ํ™œ์šฉ ArrayList.add(e) ์—˜๋ฆฌ๋จผํŠธ ๊ฐ’ ์ถ”๊ฐ€ / index๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ง€์ •์œ„์น˜์— ์ €์žฅ ๊ฐ€๋Šฅ ArrayList.get(index) index์— ์œ„์น˜ํ•œ ์—˜๋ฆฌ๋จผํŠธ ๋ฐ˜ํ™˜ ArrayList.set(Index, .. 2020. 8. 22.
[Map] HashMap, HashTable, TreeMap 1. Map : Map์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๋“ค์€ ํ‚ค์™€ ๊ฐ’์„ ํ•˜๋‚˜์˜ ์Œ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉ : ์š”์†Œ์˜ ์ˆœ์„œ๋Š” ์ €์žฅํ•˜์ง€์•Š์œผ๋ฉฐ, ํ‚ค๊ฐ’์˜ ์ค‘๋ณต์€ ํ—ˆ์šฉํ•˜์ง€์•Š์œผ๋‚˜ ๊ฐ’์˜ ์ค‘๋ณต์€ ํ—ˆ์šฉ : HashMap HashTable TreeMap โ€‹ โ€‹ 2. HashMap : ํ•ด์‹œ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉ >> ๊ฒ€์ƒ‰์†๋„ ์šฐ์ˆ˜ : ์ค‘๋ณต๋œ ํ‚ค๊ฐ’ ํ—ˆ์šฉX (๋‹จ, ๊ฐ’์˜ ์ค‘๋ณต์€ ํ—ˆ์šฉ) Method Function hashMap.put(K,V) ์š”์†Œ ๊ฐ’ ์ถ”๊ฐ€ hashMap.keySet() ํ‚ค๋“ค ๋ฐ˜ํ™˜ > set(์ง‘ํ•ฉ)ํ˜•ํƒœ๋กœ hashMap.entrySet() ์•คํŠธ๋ฆฌ๋“ค ๋ฐ˜ํ™˜ > set(์ง‘ํ•ฉ)ํ˜•ํƒœ๋กœ hashMap.get(K) ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ๋ฐ˜ํ™˜ hashMap.replace(K,V) ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ๋ณ€๊ฒฝ hashMap.remove(K) ํ‚ค์— ํ•ด๋‹นํ•˜.. 2020. 8. 22.