๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กTIL (19)

Tech Log ๐Ÿ› ๏ธ

Application Context VS Bean Factory

0. ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋ž€? or IOC Container - DI ์„ ์ด์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ์—ฌ๋Ÿฌ ๋นˆ(Bean)๋“ค์˜ ์ƒ๋ช…์ฃผ๊ธฐ(Lifecycle)์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„œ๋น„์Šค ์‹คํ–‰ ๋“ฑ์„ ๊ด€๋ฆฌํ•˜๋ฉฐ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค๋“ค์—๊ฒŒ ๊ธฐ๋Šฅ์„ ์ œ๊ณต - Bean ์ƒ์„ฑ, ๊ด€๋ฆฌ, ์ œ๊ฑฐ ๋“ฑ์˜ ์—ญํ• ์„ ๋‹ด๋‹น - BeanFactory์™€ ApplicationContext๋ผ๋Š” 2๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ œ์–ดํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค. 1. Bean Factory๋ž€? Bean Factory๋Š” ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์˜ ์ตœ์ƒ์œ„ ์ธํ„ฐํŽ˜์ด์Šค์ด๋ฉฐ ๋นˆ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์กฐํšŒํ•œ๋‹ค. getBean ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ๋นˆ์„ ์ธ์Šคํ„ด์Šคํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค. ์Šคํ”„๋ง์—์„œ ๋นˆ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ์ปจํ…Œ์ด๋„ˆ์ด๋‹ค. - ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ์˜ ์ตœ์ƒ์œ„ ์ธํ„ฐํŽ˜์ด์Šค๋‹ค. - ์Šคํ”„๋ง ๋นˆ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์กฐํšŒํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค. - ..

TIL 2023. 6. 24. 22:32
[๋””์ž์ธ ํŒจํ„ด] ์ถ”์ƒ ํŒฉํ† ๋ฆฌ ํŒจํ„ด์ด๋ž€?

์ถ”์ƒ ํŒฉํ† ๋ฆฌ ํŒจํ„ด์ด๋ž€? ๊ตฌ์ฒด์ ์ธ ํด๋ž˜์Šค์˜ ์˜์กดํ•˜์ง€ ์•Š๊ณ ๋„ ์„œ๋กœ ์—ฐ๊ด€ ๋œ ๊ฐ์ฒด๋“ค์˜ ์กฐํ•ฉ์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํŒจํ„ด์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, ์–ด๋–ค GUI ํ™˜๊ฒฝ์—์„œ ํด๋ฆญ๊ณผ ์Šคํฌ๋กค ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž ์šด์˜์ฒด์ œ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค (์œˆ๋„์šฐ , ๋งฅ , ๋ฆฌ๋ˆ…์Šค) ๊ทธ๋ฆฌ๊ณ  ์šด์˜์ฒด์ œ์˜ ์ข…๋ฅ˜์— ์ƒ๊ด€ ์—†์ด ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์€ ๋™์ผํ•œ ์—ญํ• ์„ ํ•œ๋‹ค ์ถ”์ƒ ํŒฉํ† ๋ฆฌ๋Š” ๋™์ผํ•œ OS์— ๋Œ€ํ•ด ์ผ๊ด€๋œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ค€๋‹ค. ์ถ”์ƒ ํŒฉํ† ๋ฆฌ์˜ ์š”์†Œ๋“ค์„ ๊ฐ๊ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค. AbstractFactory - ์‹ค์ œ ํŒฉํ† ๋ฆฌ ํด๋ž˜์Šค์˜ ๊ณตํ†ต ์ธํ„ฐํŽ˜์ด์Šค - GUI๋กœ ์น˜๋ฉด ๋ชจ๋“  OS ๋ฒ„์ „์„ ๋‹ด๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ConcreteFactory - ๊ตฌ์ฒด์ ์ธ ํŒฉํ† ๋ฆฌ ํด๋ž˜์Šค๋กœ AbstractFactory ํด๋ž˜์Šค์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•จ์œผ๋กœ์จ ..

TIL 2023. 6. 9. 05:04
StringBuilder VS StringBuffer

๋ฌธ์ž์—ด์„ ์ถ”๊ฐ€ํ•  ๋•Œ ํ”ํžˆ StringBuilder ์™€ StringBuffer ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ ๋™์•ˆ์€ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ์˜ ์ฐจ์ด๋ผ๊ณ ๋งŒ ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์— ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ ์ง€ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์•˜๋‹ค. StringBuilder VS StringBuffer ๊ธฐ๋ณธ์ ์œผ๋กœ ์ŠคํŠธ๋ง ๋ฒ„ํผ์™€ ์ŠคํŠธ๋ง ๋นŒ๋” ๋ชจ๋‘ AbstractStringBuilder ๋ผ๋Š” ์ถ”์ƒํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” append ํ•จ์ˆ˜์˜ ๊ตฌํ˜„ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ๋‘˜๋‹ค super() ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด AbstractStringBuilder ์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. ๊ทผ๋ฐ ์ŠคํŠธ๋ง ๋ฒ„ํผ์—๋งŒ ์žˆ๋Š” ๊ฒƒ๋“ค์ด ๋ช‡๊ฐ€์ง€ ์žˆ๋‹ค. 1. synchronize 2. toStringCache ๊ฐ๊ฐ์ด ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š” ์ง€ ์•Œ์•„๋ณด์ž synchronize - ์ด ํ‚ค์›Œ๋“œ๋Š” ๋ฉ€ํ‹ฐ ์Šค..

TIL 2023. 6. 4. 01:02
[TIL] ์„ธ์…˜ ์ธ์ฆ๊ณผ ํ† ํฐ ์ธ์ฆ ๋ฐฉ์‹

์ธ์ฆ๊ณผ ์ธ๊ฐ€ ์ธ์ฆ : ์œ ์ € ํ™•์ธ ์ ˆ์ฐจ ex) ๋กœ๊ทธ์ธ , ํšŒ์›๊ฐ€์ž… ์ธ๊ฐ€ : ํ•ด๋‹น ์œ ์ €๊ฐ€ ์ ์ ˆํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ง€ ํ™•์ธ ex) ๊ธ€ ์ˆ˜์ • , ์‚ญ์ œ ๋“ฑ ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ์ž‘์—…๋“ค HTTP์˜ ํŠน์„ฑ HTTP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋Š” stateless ํŠน์„ฑ์„ ๊ฐ€์ง„๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ €์˜ ๋กœ๊ทธ์ธ ์ •๋ณด ๋˜ํ•œ ๊ธฐ์–ตํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋งค๋ฒˆ ์š”์ฒญ๋งˆ๋‹ค ๋กœ๊ทธ์ธ์„ ์š”๊ตฌํ•ด์•ผํ•˜๋Š”๋ฐ ์ด๋Š” ๋น„ํšจ์œจ ์ ์ด๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์œ ์ €์˜ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ธ์…˜ ์ธ์ฆ๊ณผ ํ† ํฐ ์ธ์ฆ์ด ์žˆ๋‹ค. ์„ธ์…˜ ์ธ์ฆ ์œ ์ €๊ฐ€ ๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด ์„œ๋ฒ„์—์„œ ์„ธ์…˜์„ ์ƒ์„ฑํ•ด ํ•ด๋‹น ์„ธ์…˜์— ๋งž๋Š” ์„ธ์…˜ID๋ฅผ ์œ ์ €์˜ ์ฟ ํ‚ค๋กœ ์ €์žฅํ•œ๋‹ค. ๋‹ค์Œ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ์œ ์ €์˜ ์„ธ์…˜ID์™€ ์„œ๋ฒ„์˜ ์„ธ์…˜ID๋ฅผ ๋น„๊ตํ•ด์„œ ๊ถŒํ•œ์„ ํ™•์ธํ•˜๊ณ  ์ธ๊ฐ€ํ•œ๋‹ค. ์žฅ์  1. ์„œ๋ฒ„์— ์„ธ์…˜์„ ..

TIL 2023. 3. 22. 01:06
[java] ์ œ๋„ค๋ฆญ

์ œ๋„ค๋ฆญ์ด๋ž€? ์–ด๋–ค ํด๋ž˜์Šค์— ์•„์ง ํ˜•ํƒœ๊ฐ€ ์ •ํ•ด์ง€์ง€ ์•Š์€ ํ•„๋“œ๋ฅผ ์„ ์–ธํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž์ด ํ•„๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์„ ์–ธํ•ด์ค˜์•ผํ• ๊นŒ? ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋ชจ๋“  ํด๋ž˜์Šค์˜ ์ตœ์ƒ์œ„ ๋ถ€๋ชจ ํด๋ž˜์Šค์ธ Object ๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ ์ด๋Ÿด ๊ฒฝ์šฐ ํƒ€์ž…์„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ํ•„๋“œ๊ฐ’์„ ์–ป์„ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. instanceof ์—ฐ์‚ฐ์ž๋กœ ํƒ€์ž…์„ ์กฐ์‚ฌํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ํด๋ž˜์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์กฐ์‚ฌํ•  ์ˆ˜๋Š” ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์•„์ง ํƒ€์ž…์ด ์ •ํ•ด์ง€์ง€์•Š์€ ํ•„๋“œ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค. ์ด๊ฒƒ์ด "์ œ๋„ค๋ฆญ"์ด๋‹ค. ์ œ๋„ค๋ฆญ์ด๋ž€ ๊ฒฐ์ •๋˜์ง€ ์•Š์€ ํƒ€์ž…์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‹ค์ œ ์‚ฌ์šฉํ•  ๋•Œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ตฌ์ฒด์ ์ธ ํƒ€์ž…์œผ๋กœ ๋Œ€์ฒด์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ์ผ๋‹จ ํƒ€์ž…์„ ์„ ์–ธํ•œ ํ›„์— ๊ตฌ์ฒด์ ์ธ ํƒ€์ž…์€ ๋‚˜์ค‘์— ์„ค์ •ํ•˜๋Š” ๊ฑฐ๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. publ..

TIL 2023. 3. 7. 02:28
[java] ์ŠคํŠธ๋ฆผ ์š”์†Œ ์ฒ˜๋ฆฌ

์ž๋ฐ”8 ๋ถ€ํ„ฐ ์ปฌ๋ ‰์…˜ ๋ฐ ๋ฐฐ์—ด์˜ ์š”์†Œ ๋ฐ ๋ฐ˜๋ณต ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ŠคํŠธ๋ฆผ์ด๋ž€ ? ์ŠคํŠธ๋ฆผ์€ ์š”์†Œ๋“ค์ด ํ•˜๋‚˜์”ฉ ํ˜๋Ÿฌ๊ฐ€๋ฉด์„œ ์ฒ˜๋ฆฌ๋œ๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๋‚ด์žฅ ์ŠคํŠธ๋ฆผ ์—†์ด ์ปฌ๋ ‰์…˜ ๋ฐ ๋ฐฐ์—ด์— ์ €์žฅ๋œ ์š”์†Œ๋ฅผ ๋ฐ˜๋ณต ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” for ๋ฌธ์ด๋‚˜ iterator๋ฅผ ์ด์šฉํ–ˆ์–ด์•ผํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ŠคํŠธ๋ฆผ์˜ ๋“ฑ์žฅ์œผ๋กœ ๋งค๋ฌด ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ŠคํŠธ๋ฆผ ์—†์ด ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ List list = ...; for(int i=0;i //item์ฒ˜๋ฆฌ); ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ญ๊ฐ€ ์ข‹์„๊นŒ? 1. ๋‚ด๋ถ€๋ฐ˜๋ณต์ž์ด๋ฏ€๋กœ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด๋‹ค. 2. ๋žŒ๋‹ค์‹์œผ๋กœ ๋‹ค์–‘ํ•œ ์š”์†Œ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. 3. ์ค‘๊ฐ„ ์ฒ˜๋ฆฌ์™€ ์ตœ์ข… ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํŒŒ์ดํ”„ ๋ผ์ธ์„ ํ˜•์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚ด๋ถ€๋ฐ˜๋ณต์ž ์ŠคํŠธ๋ฆผ์˜ ์žฅ์  1๋ฒˆ์—์„œ ๋‚ด๋ถ€๋ฐ˜๋ณต์ž์ด๋ฏ€๋กœ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด๋ผ..

TIL 2023. 2. 28. 17:29
[java] ๋žŒ๋‹ค์‹

ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€, ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ถ€๋กœ ๋ณด๋‚ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ• ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด ์ž๋ฐ”8๋ถ€ํ„ฐ ๋žŒ๋‹ค์‹์„ ์ง€์›ํ•œ๋‹ค. ๋žŒ๋‹ค์‹ :(๋งค๊ฐœ๋ณ€์ˆ˜, ...) -> {์ฒ˜๋ฆฌ๋‚ด์šฉ} ์ž๋ฐ”๋Š” ๋žŒ๋‹ค์‹์„ ์ต๋ช… ๊ตฌํ˜„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ•˜๋‚˜์ด๊ณ  ๋‘๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” ๋žŒ๋‹ค์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (x,y) -> { ์ฒ˜๋ฆฌ๋‚ด์šฉ }; x,y : ๋งค๊ฐœ๋ณ€์ˆ˜ -> { ์ฒ˜๋ฆฌ๋‚ด์šฉ } : ์ถ”์ƒ ๋ฉ”์†Œ๋“œ์˜ ์‹คํ–‰ ๋ธ”๋ก ๋žŒ๋‹ค์‹์€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ต๋ช… ๊ตฌํ˜„ ๊ฐ์ฒด์ด๋ฏ€๋กœ ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€์ž…๋  ์ˆ˜ ์žˆ๋‹ค. public class Main { public static void main(String[] args) { action((x, y) -> { int result = x+y; System.out.println("re..

TIL 2023. 2. 25. 23:17
[java] ์ค‘์ฒฉ ์„ ์–ธ๊ณผ ์ต๋ช… ๊ฐ์ฒด

๊ณผ๊ฑฐ์— ์ค‘์ฒฉ ์„ ์–ธ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•œ ์ ์ด ์žˆ์ง€๋งŒ ๋žŒ๋‹ค์‹์„ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ ๊ฐœ๋…์ด ํ—ท๊ฐˆ๋ ค์„œ ์ต๋ช… ๊ฐ์ฒด์™€ ํ•จ๊ป˜ ๋ณต์Šต์„ ์ง„ํ–‰ํ•จ https://cb036133.tistory.com/56 ์ค‘์ฒฉ ํด๋ž˜์Šค - ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์„ ์–ธํ•œ ํด๋ž˜์Šค - ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์ฝ”๋“œ์˜ ๋ณต์žก์„ฑ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. - ํŠน์ • ํด๋ž˜์Šคํ•˜๊ณ ๋งŒ ๊ด€๊ณ„๋ฅผ ๋งบ์„ ๊ฒฝ์šฐ ์ค‘์ฒฉ ํด๋ž˜์Šค๋กœ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด ์œ ์ง€๋ณด์ˆ˜์— ์šฉ์ด ๋ฉค๋ฒ„ ํด๋ž˜์Šค - ํด๋ ˆ์Šค์˜ ๋ฉค๋ฒ„๋กœ์„œ ์„ ์–ธ๋˜๋Š” ์ค‘์ฒฉ ํด๋ž˜์Šค 1. ์ธ์Šคํ„ด์Šค ๋ฉค๋ฒ„ ํด๋ž˜์Šค 2. ์ •์  ๋ฉค๋ฒ„ ํด๋ž˜์Šค ๋กœ์ปฌ ํด๋ž˜์Šค 3. ๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰ํ•  ๋•Œ๋งŒ B๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ 1. ์ธ์Šคํ„ด์Šค ๋ฉค๋ฒ„ ํด๋ž˜์Šค - ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ private์ ‘๊ทผ ์ œํ•œ์„ ๊ฐ–๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์  - ์ธ์Šคํ„ด์Šค ํ•„๋“œ๊ฐ’ , ์ƒ์„ฑ์ž , ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ์—์„œ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค ..

TIL 2023. 2. 23. 15:31
230102 ๊ณต๋ถ€์ผ์ง€ - ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ

์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ - ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ์ฒด๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ์ถ”๊ฐ€,์‚ญ์ œ,๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค , ํด๋ž˜์Šค - ๋Œ€ํ‘œ์ ์œผ๋กœ List, Map , Set ์ด ์žˆ๋‹ค. * List ์™€ Map์€ Collection ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ƒ์† , Map ์€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์ด ์ด ๋‘˜๊ณผ๋Š” ๋‹ค๋ฅป๋‹ค. ๋ถ„๋ฅ˜ ํŠน์ง• Collection List - ์ˆœ์„œ ์œ ์ง€ - ์ค‘๋ณต ๊ฐ€๋Šฅ Set - ์ˆœ์„œ x - ์ค‘๋ณต x Map -ํ‚ค์™€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ์—”ํŠธ๋ฆฌ ์ €์žฅ - ํ‚ค๋Š” ์ค‘๋ณต ์ €์žฅ x List ์ปฌ๋ ‰์…˜ - ๊ฐ์ฒด๋ฅผ ์ธ๋ฑ์Šค๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. - ArrayList , Vector , LinkedList ๋“ฑ์ด ์‚ฌ์šฉ๋œ๋‹ค. - ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด์ถ”๊ฐ€ , ๊ฐ์ฒด ๊ฒ€์ƒ‰ , ์‚ญ์ œ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ex) add(), contatains() , clear() ArrayList - ์ผ๋ฐ˜..

TIL 2023. 1. 2. 13:15
221224 ๊ณต๋ถ€์ผ์ง€ - ์ค‘์ฒฉ ์„ ์–ธ

์ค‘์ฒฉํด๋ž˜์Šค - ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์„ ์–ธํ•œ ํด๋ž˜์Šค - ํŠน์ • ํด๋ž˜์Šคํ•˜๊ณ ๋งŒ ๊ด€๊ณ„๋ฅผ ๋งบ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ - ์ƒ์„ฑํ•  ๊ฒฝ์šฐ ๋ฐ”์ดํŠธ์ฝ”๋“œ ํŒŒ์ผ ์ƒ์„ฑ ๋ฉค๋ฒ„ ํด๋ž˜์Šค ๋กœ์ปฌ ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค ๋ฉค๋ฒ„ ํด๋ž˜์Šค ์ •์  ๋ฉค๋ฒ„ ํด๋ž˜์Šค ๋กœ์ปฌ ํด๋ž˜์Šค ๋ฐ”๊นฅ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ๋งŒ ์ค‘์ฒฉํด๋ž˜์Šค ์ƒ์„ฑ ๊ฐ€๋Šฅ ๋ฐ”๊นฅ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„๋„ ์ค‘์ฒฉํด๋ž˜์Šค ์ƒ์„ฑ ๊ฐ€๋Šฅ ๋ฉ”์†Œ๋“œ๋ฅผ ์‹คํ–‰ํ• ๋•Œ๋งŒ ์ค‘์ฒฉํด๋ž˜์Šค ์ƒ์„ฑ ๊ฐ€๋Šฅ ์ธ์Šคํ„ด์Šค ๋ฉค๋ฒ„ ํด๋ž˜์Šค - ์ฃผ๋กœ ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ private ์ ‘๊ทผ ์ œํ•œ์„ ๊ฐ€์ง - ์ธ์Šคํ„ด์Šค ํ•„๋“œ๊ฐ’, ์ƒ์„ฑ์ž , ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ์—์„œ ์ƒ์„ฑ๊ฐ€๋Šฅ - ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฐ”๊นฅ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•จ - ์ค‘์ฒฉ ํด๋ž˜์Šค ๋‚ด๋ถ€์—๋Š” ํ•„๋“œ,์ƒ์„ฑ์ž,๋ฉ”์†Œ๋“œ ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. (์ž๋ฐ”17๋ถ€ํ„ด ์ •์  ํ•„๋“œ, ์ •์  ๋ฉ”์†Œ๋“œ ์„ ์–ธ ๊ฐ€๋Šฅ) ์ •์  ๋ฉค๋ฒ„ ํด๋ž˜์Šค - static ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธ๋œ ์ค‘์ฒฉ ํด๋ž˜..

TIL 2022. 12. 24. 22:42