์‚ถ 17

Week 7

Week 7 : ๋” ๊ผผ๊ผผํžˆ ์ •๋ฆฌํ•˜๊ธฐ โœ๏ธ 6์›” ์…‹์งธ ์ฃผ ๋ฉ˜ํ† ๋ง! ์ง€๋‚œ ๋ช‡ ์ฃผ ๋™์•ˆ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๋ธ”๋กœ๊ทธ์— ์ž‘์„ฑํ•˜์ง€ ๋ชปํ•ด์„œ ์ด๋ฒˆ ์ฃผ๋Š” ์ •๋ฆฌ๋ฅผ ๋ชฉํ‘œ๋กœ ํ•œ ์ฃผ๋ฅผ ๋ณด๋ƒˆ๋‹ค. ์ด๋ฒˆ ์ฃผ๋Š” IO์™€ NIO์— ๊ด€๋ จํ•œ ๋‚ด์šฉ๋“ค์„ ๊ณต๋ถ€ํ–ˆ๋Š”๋‹ค. ์ •๋ฆฌํ•  ๋•Œ๋Š” ์ด์ œ ์ข€ ์ดํ•ด๊ฐ€ ๋˜๋Š”๊ตฌ๋‚˜ ํ–ˆ๋Š”๋ฐ, ๋ง‰์ƒ ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์— ์ง์ ‘ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ์–ด๋ฒ„๋ฒ„ ๊ฑฐ๋ฆฌ๋ฉด์„œ ์š”์ ์„ ๋ฒ—์–ด๋‚œ ์ด์•ผ๊ธฐ๋งŒ ํ–ˆ๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์„œ ๋Š๋ผ๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ๋ธ”๋กœ๊ทธ ์„œ์น˜ํ•˜๋ฉด์„œ ๊ธ€๋กœ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์ด ๋” ๋งŽ์•„ ํฌ๊ฒŒ ์™€๋‹ฟ์ง€ ์•Š์•˜๋˜๊ฒŒ ๊ฐ€์žฅ ํฐ ์ด์œ ๊ณ  ๋‘ ๋ฒˆ์งธ ์ด์œ ๋Š” CS์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ•ด์„œ ์ดํ•ด์— ๋Œ€ํ•œ ์†๋„๊ฐ€ ๋Šฆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋งŽ์€ ๋ฐ˜์„ฑ์˜ ์‹œ๊ฐ„์„ ๊ฐ€์ง€๋Š” ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์ด์˜€๋‹ค..๐Ÿ˜ฟ ๊ทธ๋Ÿผ์—๋„ ๊ธฐ๋กํ•˜์ง€ ์•Š์œผ๋ฉด ๊นŒ๋จน์œผ๋‹ˆ๊นŒ ๋ฉ˜ํ† ๋ง ๋‚ด์šฉ์„ ๊ธฐ๋กํ•ด๋ณด์ž! 1. ..

์‚ถ/F-Lab 2021.06.18

Week 6

Week 6 : ๋ถ€์กฑํ•œ CS โœ๏ธ 6์›” ๋‘˜์งธ ์ฃผ ๋ฉ˜ํ† ๋ง์„ ๋งˆ๋ฌด๋ฆฌํ–ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ๋Š” ์ž๋ฐ”์˜ ์‹ ์„ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ์ฝ์–ด๋ณด๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์˜€๋Š”๋ฐ, ๊ฐ€์กฑ ์—ฌํ–‰์ด๋ž‘ ์ผ์ •์ด ๊ฒน์ณ์„œ ์ตœ๋Œ€ํ•œ ์—ฌํ–‰์ง€์—์„œ ๊ณต๋ถ€ํ–ˆ์ง€๋งŒ ์‹œ๊ฐ„์ด ๋ถ€์กฑํ–ˆ๋˜ ํ•œ ์ฃผ์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์Šค๋ ˆ๋“œ ์ฑ•ํ„ฐ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ CS ์ง€์‹๊ณผ ์šด์˜์ฒด์ œ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์žˆ์–ด์•ผ ๋น ๋ฅด๊ฒŒ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์ด๋ผ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ฅผ ํ•œ ๋ฒˆ์— ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ํ•ด๋‹น ์ฑ•ํ„ฐ์—์„œ ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š” ๋๋‹ค. ๊ทผ๋ฐ ์ •์ž‘ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ๋“ค์ด ๋‹ค ๋‚ด ๊ฒƒ์ด ๋˜์—ˆ๋‚˜? ๋˜๋Œ์•„๋ณด๋ฉด ๋˜ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜๋„ ์˜ค๋Š˜ ๋ฉ˜ํ† ๋ง ๋‚ด์šฉ์„ ์žŠ์ง€ ์•Š๋„๋ก ์ •๋ฆฌํ•ด๋ณด์ž! 1. Synchronized ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ํ•ด๋‹น ์ œ์–ด์ž๊ฐ€ ์„ ์–ธ๋œ ๋ฉ”์†Œ๋“œ๋‚˜ ๋ธ”๋ก์— ์ ‘๊ทผ ์‹œ ๋ฐœ์ƒ ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์Šค๋ ˆ๋“œ ๊ฐ„ ๋™..

์‚ถ/F-Lab 2021.06.11

Week 5

Week 5 : ์ดํ•ดํ•˜๋Š”๋ฐ ํ•œ ์„ธ์›” โœ๏ธ 6์›” ์ฒซ์งธ ์ฃผ ๋ฉ˜ํ† ๋ง์„ ์‹œ์ž‘ํ–ˆ๋‹ค! ์ง€๊ธˆ๊นŒ์ง€ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ดํ•ด์˜ ๋น„์ค‘๋ณด๋‹ค๋Š” ๋ธ”๋กœ๊ทธ์™€ ๋…ธ์…˜์— ๊ธ€์„ ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค๋Š” ๊ฐ•๋ฐ•์ด ์ ์  ์‹ฌํ•ด์ง€๋Š” ๊ฒƒ์„ ๋Š๊ปด์„œ ์ด๋ฒˆ ์ฃผ์—๋Š” ๊ธ€์„ ์ž‘์„ฑํ•˜๊ธฐ ๋ณด๋‹จ ์•„์ดํŒจ๋“œ์— ๊ทธ๋ ค๊ฐ€๋ฉด์„œ ์กฐ๊ธˆ ๋” ์ดํ•ดํ•œ ๋’ค์— ๊ธ€์„ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ํ•œ ์ฃผ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฒŒ์‹œ๊ธ€๋„ ํ•˜๋‚˜๋ฐ–์— ์ž‘์„ฑํ•˜์ง€ ๋ชปํ–ˆ๋Š”๋ฐ, ๊ทธ ๊ธ€๋„ ์ˆ˜์ •ํ•  ๋‚ด์šฉ์ด ์‚ฐ๋”๋ฏธ๋‹ค. ์ฑ…์„ ๋น ๋ฅด๊ฒŒ ์ฝ์œผ๋ฉด์„œ 5์ฃผ์ฐจ์— ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค! ์ด๋ฒˆ ์ฃผ๋Š” Collection Framework์— ๋Œ€ํ•ด ์ง‘์ค‘์ ์œผ๋กœ ๊ณต๋ถ€ํ–ˆ๊ณ , Set๊ณผ Map ๊ทธ๋ฆฌ๊ณ  ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ–ˆ๋‹ค. (์Šค๋ ˆ๋“œ๋Š” ๋ง›๋ณด๊ธฐ ์Šคํ‘ผ์ •๋„๋งŒ) 1. Generic Type Erasure ๊ธฐ์กด์—๋Š” ํƒ€์ž… ์ฒดํฌ๋ฅผ ๋Ÿฐํƒ€์ž„ ์‹œ์ ์—์„œ ์ˆ˜ํ–‰ํ•ด์„œ ์ž˜๋ชป๋œ ํƒ€์ž…์œผ๋กœ ์บ์ŠคํŒ… ํ–ˆ์„ ๊ฒฝ์šฐ Cla..

์‚ถ/F-Lab 2021.06.03

Week 4

Week 4 : ์ •์‹ ์—†์ด ์ง€๋‚˜๊ฐ„ ํ•œ ์ฃผ โœ๏ธ ๋ฒŒ์จ F-Lab์„ ์‹œ์ž‘ํ•œ์ง€ 4์ฃผ์ฐจ๊ฐ€ ๋˜์—ˆ๋‹ค. 4์ฃผ์ฐจ๋ผ๋ฉด ์–ด๋–ค ์˜๋ฏธ๋กœ ์ค‘์š”ํ•œ ์ฃผ์ธ๋ฐ, ๋‚˜๋Š” ๊ทธ ์ค‘์š”ํ•œ ํ•œ ์ฃผ๋ฅผ ์•ผ๊ทผ์œผ๋กœ ๋Œ€๋ถ€๋ถ„์„ ๋ณด๋ƒˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ์ด์œ ๋กœ ๊ณ„ํš์˜ 2/5๋„ ํ•ด๋‚ด์ง€ ๋ชปํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ์ •๋ง ๋งŽ์ด ์•„์‰ฌ์šด ํ•œ ์ฃผ๋‹ค. ๊ทธ๋งŒํผ ํ•™์Šตํ•œ ๋‚ด์šฉ์ด ๋ถ€์กฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ˜ํ† ๋ง ์ดˆ๋ฐ˜์—๋Š” ๋Œ€๋ถ€๋ถ„ ๊ฟ€ ๋จน์€ ๋ฒ™์–ด๋ฆฌ๊ฐ€ ๋˜์—ˆ์ง€๋งŒ, ๊ทธ๋ž˜๋„ ๋ฉ˜ํ† ๋ง ํ›„๋ฐ˜์— ๋ณต์Šต ์ฐจ์›์œผ๋กœ ์˜ˆ์ „์— ํ•™์Šตํ•œ ๋‚ด์šฉ์— ๋Œ€ํ•ด ์งˆ๋ฌธ ์ฃผ์…จ์„ ๋•Œ ๋‚˜๋ฆ„๋Œ€๋กœ ์ •๋ฆฌํ•ด์„œ ๋‹ต๋ณ€ ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ ์€ ์ข‹์€ ์ˆ˜ํ™•์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค! 1. ArrayList Java Collection Framework์— ์†ํ•˜๋ฉฐ, List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์ด๋‹ค. ArrayList ํด๋ž˜์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์—ด์— ๋‹ด๋Š”๋ฐ, ๊ฐ ๊ณต๊ฐ„์— ์ธ๋ฑ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์–ด ์ธ..

์‚ถ/F-Lab 2021.05.27

Week 3

Week 3 : ํŒŒ๋ฉด ํŒ” ์ˆ˜๋ก ์–ด๋ ค์šด ๊ฒƒ โœ๏ธ ์ด๋ฒˆ ์ฃผ๋Š” ์ฑ…์„ ํ†ตํ•ด ์ƒˆ๋กญ๊ฒŒ ๊ณต๋ถ€ํ•˜๊ธฐ๋ณด๋‹จ 2์ฃผ์ฐจ์—์„œ ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ์งˆ๋ฌธ ์ฃผ์…จ๋˜ ๋‚ด์šฉ์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ๊นŠ๊ฒŒ ๊ณต๋ถ€ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์˜๋ฌธ์ด ๋“ ๋‹ค. '๊ณผ์—ฐ ๋‚ด๊ฐ€ ๊ณต๋ถ€ํ•œ ๊ฒƒ๋“ค์ด ๋‚ด ๊ฒƒ์ด ๋˜์—ˆ์„๊นŒ?' ์Šค์Šค๋กœ์—๊ฒŒ ๋ฌผ์—ˆ์„ ๋•Œ, ๋ฐ˜์€ ๋งž๊ณ  ๋ฐ˜์€ ํ‹€๋ฆฐ ๊ฒƒ ๊ฐ™๋‹ค. ํ‹€๋ ธ๋‹ค์˜ ์˜๋ฏธ๋Š” ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์ ‘ํ•ด์„œ ์กฐ๊ธˆ์”ฉ ๋จธ๋ฆฌ์— ๊ทธ๋ ค์ง€๊ธฐ ์‹œ์ž‘ํ•œ ๋‹จ๊ณ„๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. ์–ผ๋งˆ๋‚˜ ๋” ๋“ค์—ฌ๋ด์•ผ ๋‚ด ๊ฒƒ์ด ๋  ์ˆ˜ ์žˆ์„๊นŒ?!๐Ÿฅฒ ์กฐ๊ธ‰ํ•ด์ง€์ง€๋ง๊ณ  ๋‹จ๋‹จํ•˜๊ฒŒ ์„ฑ์žฅ ํ•  ์ˆ˜ ์žˆ๋„๋ก, 4์ฃผ์ฐจ๋„ ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค! 1. String ๊ฐ์ฒด๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ทธ ์ฐจ์ด String ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. ๐Ÿ“ Literal๋กœ ์ง์ ‘ ๋ฌธ์ž์—ด์„ ์ž‘์„ฑํ•˜์—ฌ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ๐Ÿ“ new ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด ์ƒ์„ฑ์ž์— ..

์‚ถ/F-Lab 2021.05.20

Week 2

Week 2 : ๋‚˜๋ฆ„ ๊ณต๋ถ€๋Š” ํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ โœ๏ธ ์˜ค๋Š˜์€ ์ €๋ฒˆ ์ฃผ์— ์ž˜ ์•Œ์ง€ ๋ชปํ–ˆ๋˜ ๊ฒƒ์— ๋Œ€ํ•œ ๋‹ต๋ณ€ ์‹œ๊ฐ„๊ณผ ์ฑ…์„ ์ฝ์œผ๋ฉฐ ์ƒˆ๋กญ๊ฒŒ ๊ณต๋ถ€ํ•œ ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋“ค์„ ๋‚˜๋ˆ„์—ˆ๊ณ , ํ”ผ๋“œ๋ฐฑ์œผ๋กœ๋Š” ์–ด๋–ค ํ•œ ์ฃผ๋ฅผ ๋ณด๋ƒˆ๋Š”์ง€, ํ•œ ์ฃผ๋ฅผ ๋ณด๋‚ธ ๊ฒฐ๊ณผ๋กœ ๋ฉ˜ํ† ๋ง์—์„œ ์–ด๋–ค ๊ฒƒ์„ ๋Š๋ผ๊ณ  ์–ป์—ˆ๋Š”์ง€ ๊ธฐ๋กํ•˜๋ ค ํ•œ๋‹ค. Q : ๊ฐ€์Šด์— ์†์„ ์–น๊ณ , ์ด๋ฒˆ ์ฃผ๋Š” ์—ด์‹ฌํžˆ ์‚ด์•˜๋Š”๊ฐ€? A : ๋ถ€๋„๋Ÿฝ์ง€๋งŒ ์—ด์‹ฌํžˆ ์‚ด์ง€ ๋ชปํ–ˆ๋‹ค. ๋‹ค์ณค๋‹ค๋Š” ํ•‘๊ณ„๋กœ ์ฃผ๋ง์—๋Š” ๋ฐ˜๋‚˜์ ˆ ์ด์ƒ ์นจ๋Œ€์—์„œ ๋‚˜์˜ค์ง€ ์•Š์•˜๋‹ค. ๋‚˜๋ฆ„ ๋ฐ˜์„ฑ์˜ ์˜๋ฏธ๋กœ ์ถœํ‡ด๊ทผ ์ค‘์— ์ฑ…์„ ์ฝ์œผ๋ ค ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ํ•œ ๊ธ€์ž๋„ ์ฝํžˆ์ง€ ์•Š์•˜๋‹ค. ์‚ฌ์‹ค์ƒ ์‹คํŒจ์˜ ํ•œ ์ฃผ๋ผ๊ณ  ์ƒ๊ฐ๋œ๋‹ค. 1. Reference Type / Primitive Type - Reference Type Reference Type ์— ๋Œ€ํ•ด์„œ ์ œ๋Œ€๋กœ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ณ  ๊ฐ‘์ž๊ธฐ..

์‚ถ/F-Lab 2021.05.13