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

Note for moment16

์ œ๋„ค๋ฆญ(Generic) - ํ™œ์šฉ์˜ ์˜ˆ : ์ž๋ฃŒ๊ตฌ์กฐ Generic์€ ์ฝ”๋“œ๋ธ”๋Ÿญ ๋‚ด๋ถ€์—์„œ ์“ธ ์ž๋ฃŒํ˜•์„ ์™ธ๋ถ€์—์„œ ์ง€์ •ํ•˜๋Š”๊ฒƒ * NonGeneric : Objectํƒ€์ž…์˜ ํ•„๋“œ๊ฐ€ ์„ ์–ธ๋œ ํด๋ž˜์Šค๋กœ, ํ•„๋“œ์— ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์˜ ์ €์žฅ(ํฌํ•จ)์ด ๊ฐ€๋Šฅํ•˜๋‹ค : ์ €์žฅ์— ๋Œ€ํ•œ ์ œ์•ฝ์€ ์—†์ง€๋งŒ ํšจ์œจ์„ฑ์ด ๋‚ฎ๋‹ค (๊ฐ์ฒดํ˜•๋ณ€ํ™˜์„ ์ž˜ํ•ด์ค˜์•ผํ•˜๊ธฐ๋•Œ๋ฌธ) : ํ•„๋“œ์— ์ €์žฅ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ๊ฐ์ฒดํ˜•๋ณ€ํ™˜์ด ์š”๊ตฌ๋˜๋ฉฐ instanceof ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•œ ๊ฒ€์ฆ์„ ํ•„์š”๋กœํ•œ๋‹ค * Generic : ์ œ๋„ค๋ฆญํƒ€์ž…์˜ ํ•„๋“œ๊ฐ€ ์„ ์–ธ๋œ ํด๋ž˜์Šค๋กœ, ํ•„๋“œ์— ๋งž๋Š” ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค ์ €์žฅ(ํฌํ•จ)๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค : ์ €์žฅ์— ๋Œ€ํ•œ ์ œ์•ฝ์€ ์กด์žฌํ•˜์ง€๋งŒ ์‚ฌ์šฉ์˜ ํšจ์œจ์„ฑ์ด ๋†’์œผ๋ฉฐ, ํ˜• ๋ณ€ํ™˜ ์—†์ด๋„ ๊ฐ’์„ ๋ฐ˜ํ™˜๋ฐ›์•„ ํ™œ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค * Generic Type? ํ•„๋“œ์˜ ์ง€์ •์ž๋ฃŒํ˜•์œผ๋กœ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค ์ž‘์„ฑ์‹œ์— ์„ ์–ธํ•œ๋‹ค. : ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜.. 2020. 9. 5.
[thread] main์Šค๋ ˆ๋“œ, ๋‹ค์ค‘์Šค๋ ˆ๋“œ, ์Šค๋ ˆ๋“œ๋™๊ธฐํ™” * ์Šค๋ ˆ๋“œ : ํ”„๋กœ๊ทธ๋žจ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ์ตœ์†Œ๋‹จ์œ„ : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์‹œ ๋”ฑ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ(main์Šค๋ ˆ๋“œ)๋งŒ ์ƒ์„ฑ โžก๏ธŽ ํ”„๋กœ๊ทธ๋žจ์‹คํ–‰ > JVM์— ์˜ํ•ด main์Šค๋ ˆ๋“œ ์ž๋™์ƒ์„ฑ > ๋ช…๋ น ์ˆ˜ํ–‰ > main๋ฉ”์†Œ๋“œ ์ข…๋ฃŒ > main๋ฉ”์†Œ๋“œ ์ž๋™์†Œ๋ฉธ : ์Šค๋ ˆ๋“œ ๋ฉ”์†Œ๋“œ - Thread.currentThread() : ํ˜„์žฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ์Šค๋ ˆ๋“œ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ - Thread.getName() : ์Šค๋ ˆ๋“œ ์ธ์Šคํ„ด์Šค์— ์ €์žฅ๋œ ์Šค๋ ˆ๋“œ๋ช…์„ ๋ฐ˜ํ™˜ * ๋‹ค์ค‘์Šค๋ ˆ๋“œ : ์‹ค์ œ๋กœ ์Šค๋ ˆ๋“œ๋Š” main์Šค๋ ˆ๋“œ ๋‹จ ํ•˜๋‚˜์ง€๋งŒ main์Šค๋ ˆ๋“œ๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์Šค๋ ˆ๋“œ ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑ๊ฐ€๋Šฅ โžก๏ธŽ ๋‹จ, ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ ์ธ์Šคํ„ด์Šค๋Š” ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ! ์ฃผ์˜!! * ์Šค๋ ˆ๋“œ ์ƒ์„ฑ ๋ฐฉ๋ฒ• ๋ฐฉ๋ฒ• 1) Thread ํด๋ž˜์Šค ์ƒ์†๋ฐ›์•„ run() ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ.. 2020. 9. 5.
[Java] String, StringBuffer, StringBuilder String, StringBuffer, StringBuilder ๋ชจ๋‘ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋Š” ํด๋ž˜์Šค๋กœ ๋งŽ์€ ์—ฐ์‚ฐ์„ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์ด์Šˆ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์€ ๋‚ฎ๋‹ค. ํ•˜์ง€๋งŒ? ์—ฐ์‚ฐ์ด ๋งŽ์•„์ง€๊ฑฐ๋‚˜ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋“ฑ ๋ณต์žกํ•˜๋„ ๋‹ค์–‘ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ผญ ์ƒํ™ฉ์— ๋งž๋Š” ํด๋ž˜์Šค ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•œ๋‹ค. Stringํด๋ž˜์Šค์™€ StringBuffer,Builder์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๋ถˆ๋ณ€์˜ ์†์„ฑ์ด๋‹ค. 1. String : immutable - ์ˆ˜์ •๊ณผ ์กฐ์ž‘์ด ๋ถˆ๊ฐ€๋Šฅํ•จ > ๋ถˆํ•„์š”ํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•จ(์ฆ‰ ๋ฒ„๋ ค์ง€๊ณ  ์ƒˆ๋กœ ์ƒ์„ฑ๋œ๋‹ค๋Š” ์˜๋ฏธ) : ๋ฌธ์ž์—ด ์ถœ๋ ฅ์ด ๋ชฉ์ ์ธ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ : ๋ณ€ํ•˜์ง€์•Š๋Š” ๋ฌธ์ž์—ด์„ ์ž์ฃผ ์ฝ์–ด๋“ค์ด๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ ๊ถŒ์žฅ โžก๏ธŽ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฐ™์€ ๋ฌธ์ž์—ด์˜ CUD์—ฐ์‚ฐ์ด ๋นˆ๋ฒˆํ•œ ๊ณณ์— ์‚ฌ์šฉํ•˜๋ฉด heap๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ€๋น„.. 2020. 9. 5.
[Java] ์ž๋ฃŒํ˜•, Wrapperํด๋ž˜์Šค * ์ž๋ฐ” ์ž๋ฃŒํ˜• * ๋ž˜ํผํด๋ž˜์Šค๋ž€ ์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ์ž๋ฃŒํƒ€์ž…์„ ๊ฐ์ฒด๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค. ๊ธฐ๋ณธ์ž๋ฃŒํ˜• ํ˜•ํƒœ (๋ณ€๊ฒฝ)โžก๏ธŽ ํด๋ž˜์Šคํ˜•(๊ฐ’ ์ €์žฅ ๋ฐ ๋ณดํ˜ธ) ๊ธฐ๋ณธํƒ€์ž…์€ ๊ฐ’์„ ๊ฐ–๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์™ธ๋ถ€์—์„œ ๊ฐ’ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€ > ๋”ฐ๋ผ์„œ Wrapper ํด๋ž˜์Šค ํ•„์š” ๋ชจ๋“  ๋ž˜ํผํด๋ž˜์Šค์˜ ๋ถ€๋ชจ๋Š” Object์ด๋ฉฐ, ์ตœ์ข… ํด๋ž˜์Šค๋กœ ์ •์˜๋œ๋‹ค. * ๋ฐ•์‹ฑ/์–ธ๋ฐ•์‹ฑ - ๋ฐ•์‹ฑ : ๊ธฐ๋ณธํƒ€์ž…(๊ฐ’) โžก๏ธŽ Wrapper ํด๋ž˜์Šค(์ธ์Šคํ„ด์Šค) - ์–ธ๋ฐ•์‹ฑ : Wrappe(์ธ์Šคํ„ด์Šค) โžก๏ธŽ ๊ธฐ๋ณธํƒ€์ž…(๊ฐ’) ์‹ค์ œ๋กœ JDK1.5 ๋ถ€ํ„ฐ๋Š” ์˜คํ† ๋ฐ•์‹ฑ๊ณผ ์˜คํ† ์–ธ๋ฐ•์‹ฑ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ ์šฉ์ด (๊ฐ™์€ ์„ฑ์งˆ์˜ ํด๋ž˜์Šค์ธ ๊ฒฝ์šฐ e.g. int ⇔ Integer) ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ (e.g String โ‡จ Integer) Integer.pharseInt(St.. 2020. 9. 5.