๊ธฐ์ดˆ ํƒ„ํƒ„! ๋…ํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” Java Part 3(ํ•˜) : ์†Œ์ผ“๊ณผ ํŒŒ์ผ I/O

java.io๋ฅผ ์‹œ์ž‘์œผ๋กœ NIO ๋ฐ NIO.2 ๊ธฐ๋ฐ˜์˜ ๊ณ ์„ฑ๋Šฅ ์ž…/์ถœ๋ ฅ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ํŒŒ์ผ ์ž…/์ถœ๋ ฅ์„ ๋๋‚ด๋Š” ์ˆœ๊ฐ„ ๊ณ ์„ฑ๋Šฅ ์„œ๋ฒ„ ๊ฐœ๋ฐœ๊นŒ์ง€ ๋ค์œผ๋กœ ๋๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค!

(5.0) ์ˆ˜๊ฐ•ํ‰ 18๊ฐœ

์ˆ˜๊ฐ•์ƒ 629๋ช…

๋‚œ์ด๋„ ์ค‘๊ธ‰์ด์ƒ

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

5.0

5.0

๋”๋ธ”์ง€

31% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์ž๋ฐ” + cs ์ด๋ก ๊นŒ์ง€ ๊ฐ™์ด ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๊ฐ•์˜

5.0

๊ฐ•์œค์ˆ˜

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์ค‘๊ฐ„์ค‘๊ฐ„ ์•Œ๋ ค์ฃผ์‹œ๋Š” CS์ง€์‹๊ณผ ํ•ด๋‹น ์ง€์‹๊ณผ ์—ฐ๊ด€์ง€์–ด ์„ค๋ช…ํ•ด์ฃผ์‹œ๋Š”๊ฒŒ ์•„์ฃผ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

5.0

ZZAMBA

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

ํŒŒ์ผ ์ž…์ถœ๋ ฅ์„ ๋‹ค๋ฃฐ์ผ์ด ๋ณ„๋กœ ์—†์–ด์„œ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค ์ƒ๊ฐํ•˜๊ณ  ์‚ด์•˜์ง€๋งŒ ์†Œ์ผ“๋„ ํŒŒ์ผ์ด๋ผ๋Š” ์ ์—์„œ ๋งค์šฐ ์ค‘์š”ํ•จ์„ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์™ธ์—๋„ ์ˆ˜์—…์—์„œ ์ด์ „์— ๋‹ค๋ฃฌ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ์™€ ๋…ผ๋ธ”๋กœํ‚น ๋น„๋™๊ธฐ ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์ ๋„ ์‹ ์„ ํ•˜๊ฒŒ ๋‹ค๊ฐ€์˜จ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ์ข‹์€ ๊ฐ•์˜์˜€์Šต๋‹ˆ๋‹ค!

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • Java๋ฅผ ์ด์šฉํ•ด ํŒŒ์ผ ์ž…/์ถœ๋ ฅ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • java.io๋ฅผ ๋„˜์–ด NIO(New I/O), AIO(Asynchronous I/O) ๊ธฐ๋ฐ˜ ๊ณ ์„ฑ๋Šฅ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ๋ฐฉ๋ฒ•์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • AIO ๊ธฐ๋ฐ˜ ๊ณ ์„ฑ๋Šฅ TCP/IP ์„œ๋ฒ„ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ์„ฑ๋Šฅ AIO๋น„๋™๊ธฐ ํŒŒ์ผ ์ž…/์ถœ๋ ฅ๊ณผ ์†Œ์ผ“์˜ ๋ณธ์งˆ์— ๋Œ€ํ•ด ํ™•์‹คํ•˜๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ์ž์˜ ๊ฒฝ์Ÿ๋ ฅ์€ ์˜ค์ง ์‹ค๋ ฅ์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๋กœ ํ™•์‹คํžˆ ์ฐจ๋ณ„ํ™”๋œ ๊ฒฝ์Ÿ๋ ฅ์„ ํ™•๋ณดํ•˜์„ธ์š”!

'ํŒŒ์ผ'์— ๋Œ€ํ•ด ์ด๋ ‡๊ฒŒ ๊นŠ๊ฒŒ ๋‹ค๋ฃจ๋Š” ์ด์œ  ๐Ÿค”

์ด ๊ฐ•์˜๋ฅผ ์ œ๋Œ€๋กœ ๋๋‚ธ๋‹ค๋ฉด
์ „๊ณต์ž์— ๋น„๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ๋†’์€ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ
Java๋ฅผ ํ™œ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ ์ž…/์ถœ๋ ฅ์— ๋Œ€ํ•œ ๊ฐ์ข… ์ด๋ก 

ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ทธ ์ž์ฒด์— ๋Œ€ํ•ด ์šด์˜์ฒด์ œ ์ˆ˜์—…์—์„œ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ๋“ค์„ ์ƒ์„ธํžˆ ๋ฐฐ์›๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ Non-blocking I/O ๋ฐ ๋น„๋™๊ธฐ ์ž…/์ถœ๋ ฅ์— ๋Œ€ํ•ด ์ •ํ™•ํžˆ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NIO ๊ธฐ๋ฐ˜ ํŒŒ์ผ ์ž…/์ถœ๋ ฅ

์ „ํ†ต์ ์ธ java.io ๊ธฐ๋ฐ˜ ํŒŒ์ผ ์ž…์ถœ๋ ฅ์„ ๋„˜์–ด NIO(New I/O)๋ฅผ ์ด์šฉํ•œ ์ž…/์ถœ๋ ฅ ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ–ฅํ›„ ๊ณ ์„ฑ๋Šฅ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•  ํ•ต์‹ฌ ์ด๋ก ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๊ทน๋Œ€ํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ์„ฑ๋Šฅ AIO

๊ณ ์„ฑ๋Šฅ ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ์ ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ฌผ๋ก  ์šด์˜์ฒด์ œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ž์›์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„์— Java์—์„œ๋Š” AIO(Asynchronous I/O)๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋ณธ ์ˆ˜์—… ํ†ตํ•ด ํ™•์‹คํ•œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ฐ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TCP/IP ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

NIO ๋ฐ AIO๋ฅผ ์ ์šฉํ•ด ๊ณ ์„ฑ๋Šฅ ์ฑ„ํŒ… ์„œ๋ฒ„๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ด€๋ จ ๋„คํŠธ์›Œํฌ ์ด๋ก ์„ ํ•จ๊ป˜ ๋ฐฐ์›€์œผ๋กœ์จ ๋‹จ์ˆœ ํ™œ์šฉ์ด ์•„๋‹ˆ๋ผ ์›๋ฆฌ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํ•™์Šต ๋Œ€์ƒ


๊ณ ์„ฑ๋Šฅ ์‹œ์Šคํ…œ์ด ์ž‘๋™ํ•˜๋Š”
์›๋ฆฌ๋ฅผ ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์‹ถ์€
ํ˜„์ง ๊ฐœ๋ฐœ์ž


์ฐจ๋ณ„ํ™”๋œ ๊ฒฝ์Ÿ์„ ๊ฐ–์ถฐ์„œ
๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ
์ทจ์—…ํ•˜๊ณ  ์‹ถ์€ ์ทจ์—… ์ค€๋น„์ƒ


๋งŽ์ด ์“ฐ๋Š” ์–ธ์–ด๋ผ๊ณ  ํ•ด์„œ
๋ฐฐ์› ์ง€๋งŒ ๋ณธ์งˆ์„ ์ž˜ ๋ชจ๋ฅด๋Š”
1~2๋…„์ฐจ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž

ํ•™์Šต ๋กœ๋“œ๋งต ๐Ÿƒ๐Ÿป

๋…ํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” Java ์‹œ๋ฆฌ์ฆˆ๋Š” ์ด 4๊ฐœ Part ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.
๋ณ„๋„ 1,2 ๊ฐ•์˜๋Š” Spring ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ•จ๊ป˜ ๋“ค์œผ๋ฉด ์ข‹์€ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค ๐Ÿ™‚

  • Part 1 : ๊ธฐ์ดˆ์ ์ธ ๋ฌธ๋ฒ•, ์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • Part 2 : ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ์ž๋ฃŒ๊ตฌ์กฐ

  • Part 3 : ์‹œ์Šคํ…œ ํ™œ์šฉ ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ

  • Part 4 : Spring Framework์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์œ„ํ•œ ์ค€๋น„

  • ๋ณ„๋„ 1 : ์›น ์ธํ”„๋ผ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ดํ•ด์™€ DB

  • ๋ณ„๋„ 2 : SQL ๊ณ ๊ธ‰


Part 3๋Š” ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋™๊ธฐํ™” ๊ธฐ๋ฒ•, CAS(Compare And Swap, Set), Lock-free ๊ตฌ์กฐ, ํŒŒ์ผ ์ž…/์ถœ๋ ฅ, ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋“ฑ ๊ณ ๊ธ‰ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•  ๋‚ด์šฉ๋“ค์ด ๋‹ค์ˆ˜ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ์ด ๋„ˆ๋ฌด ๋งŽ์•„ ์ƒ, ํ•˜ํŽธ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ์œผ๋ฉฐ ์ƒํŽธ์—์„œ๋Š” Java Memory Model๊ณผ JVM์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์„ ๊นŠ์ด ์žˆ๊ฒŒ ๋‹ค๋ฃจ๊ณ  ์žˆ์œผ๋ฉฐ ํ•˜ํŽธ์—์„œ๋Š” ๊ณ ์„ฑ๋Šฅ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋น„๋™๊ธฐ ํŒŒ์ผ ์ž…/์ถœ๋ ฅ ๋ฐ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•ต์‹ฌ ์ฃผ์ œ๋กœ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๊ณ ์„ฑ๋Šฅ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด java.io๋ฅผ ๋„˜์–ด NIO์™€ AIO์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋ฉฐ ์ด๋Ÿฌํ•œ ์ด๋ก ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ณ ์„ฑ๋Šฅ ์„œ๋ฒ„ ์‹œ์Šคํ…œ์„ ์–ด๋–ป๊ฒŒ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚˜๋ฉด...

  • ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๊ด€ํ•œ ํ•ต์‹ฌ ๊ฐœ๋…์„ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ „ํ†ต์ ์ธ ํŒŒ์ผ ์ž…/์ถœ๋ ฅ ๊ธฐ๋ฒ•์€ ๋ฌผ๋ก  NIO(New I/O)๊ธฐ๋ฐ˜ ๊ณ ์„ฑ๋Šฅ ์ž…/์ถœ๋ ฅ ๊ธฐ๋ฒ•์„ ์ดํ•ดํ•˜๊ณ  ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ž…/์ถœ๋ ฅ ํšจ์œจ์„ ๊ทน๋Œ€ํ™” ํ•˜๊ธฐ ์œ„ํ•ด ์šด์˜์ฒด์ œ ์ˆ˜์ค€์˜ ์ง€์›์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” AIO(Asynchronous I/O)๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์†Œ์ผ“์˜ ๋ณธ์งˆ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ณ  ๊ณ ์„ฑ๋Šฅ TCP/IP ์„œ๋ฒ„ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋…ํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” Java๋Š”
๊ทธ๋ƒฅ Java ๊ฐ•์˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

1โƒฃ
ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ฐœ๋…์  ์ดํ•ด๋Š” ๋งค์šฐ ์ค‘์š”!


  • ํŒŒ์ผ ์ž…/์ถœ๋ ฅ์„ ๋ฐฐ์šฐ๊ธฐ์— ์•ž์„œ ํŒŒ์ผ์ฒ˜๋ฆฌ์— ๊ด€ํ•œ ์šด์˜์ฒด์ œ ์ˆ˜์ค€ ์ž‘๋™ ๊ตฌ์กฐ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Buffered I/O์™€ Non-buffered I/O์˜ ๋‚ด๋ถ€์  ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ์„ฑ๋Šฅ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ทผ๋ณธ์ ์ธ ์ด์œ ๋ฅผ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Java.io๊ธฐ๋ฐ˜ ์ž…/์ถœ๋ ฅ์„ ๋„˜์–ด์„  ๊ณ ์„ฑ๋Šฅ ์ž…/์ถœ๋ ฅ ์‹œ์Šคํ…œ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ์ด๋ก ํ™•๋ฆฝ ํ•ฉ๋‹ˆ๋‹ค.

2โƒฃ
๊ณ ์„ฑ๋Šฅ ์‹œ์Šคํ…œ์œผ๋กœ ๋ฐœ์ „ํ•˜๊ธฐ ์œ„ํ•œ ๋น„๋™๊ธฐ ์ž…/์ถœ๋ ฅ ๊ธฐ๋ฒ•


  • ์ „ํ†ต์ ์ธ ํŒŒ์ผ ์ž…/์ถœ๋ ฅ ์‹œ์Šคํ…œ์„ ๋„˜์–ด ๋น„๋™๊ธฐ ํŒŒ์ผ ์ž…/์ถœ๋ ฅ์„ ํ†ตํ•ด ๋†’์€ ์„ฑ๋Šฅ ํ™•๋ณดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • I/O ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ ๊ธฐ๋ฐ˜ ์ž…/์ถœ๋ ฅ ๊ธฐ๋ฒ•์„ ์ดํ•ดํ•˜๊ณ  ์‹ค์ „์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • AIO(Asynchronous I/O)๋ฅผ ํ™œ์šฉํ•ด C/C++ ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์— ํ•„์ ํ•˜๋Š” ๊ณ ์„ฑ๋Šฅ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3โƒฃ
TCP/IP ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์ดํ•ด


  • ์ตœ์ดˆ Echo ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘์œผ๋กœ ๋‹จ๊ณ„์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•ด ์ตœ์ข…์—๋Š” AIO ๊ธฐ๋ฐ˜ ๊ณ ์„ฑ๋Šฅ ์ฑ„ํŒ… ์„œ๋ฒ„ ์‹œ์Šคํ…œ์œผ๋กœ ๋ฐœ์ „์‹œํ‚ต๋‹ˆ๋‹ค.

  • ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ด€๋ จํ•ด ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•  ํ•„์ˆ˜ ๋„คํŠธ์›Œํฌ ์ด๋ก ๋“ค์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•จ์œผ๋กœ์จ ๋‹จ์ˆœ ์•”๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.

  • ์ ์ ˆํ•œ ์‹ค์Šต์ด ์ง„ํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ๊ณต์œ ๊ธฐ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์ผ๋ฐ˜ ๊ฐ€์ • ๋ฐ ๋‹จ์ผ ํ˜ธ์ŠคํŠธ ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์˜ ํŠน์ˆ˜์„ฑ๊ณผ ์ฐจ์ด์— ๋Œ€ํ•ด ์•Œ๊ณ  ์‹ค์Šต์— ์ž„ํ•ฉ๋‹ˆ๋‹ค.

4โƒฃ
์ •๋ฆฌ๋œ ๊ต์œก ์ž๋ฃŒ์™€ ํŒ์„œ ๐Ÿ“œ


  • ๋ชจ๋“  ์ˆ˜์—… ๋‚ด์šฉ์€ PPT์ž๋ฃŒ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์ง€๋งŒ ๋งˆ์น˜ ํ™”์ดํŠธ๋ณด๋“œ์— ํŒ์„œ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์„ค๋ช…์ด ์ด์–ด์ง‘๋‹ˆ๋‹ค.

  • ์ด๋ฅผ ํ†ตํ•ด ์ˆ˜๊ฐ•์ž๋Š” ์™„์„ฑ๋œ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋งŒ ๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ตฌ์กฐ๊ฐ€ ํƒ„์ƒํ•˜๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ๊ณผ ์ด์œ  ์ „๋ฐ˜์— ๋Œ€ํ•œ ํ๋ฆ„์„ ์ข…ํ•ฉ์ ์œผ๋กœ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5โƒฃ
๋ชฉํ‘œ๋Š” ์ฐจ๋ณ„ํ™”๋œ ๊ฒฝ์Ÿ๋ ฅ๊ณผ ์ทจ์—… ๐Ÿ’ผ

  • ๋ณธ๊ฒฉ์ ์ธ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์šฐ๊ธฐ์— ์•ž์„œ ๋ณธ ์ˆ˜์—…์ด ์ทจ์—…์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Œ์„ ๋ช…ํ™•ํžˆ ์•Œ๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ 

    ๊ฐ•์‚ฌ์˜ ์˜ค๋žœ ๊ฐ•์˜ ๊ฒฝํ—˜์„ ๊ทผ๊ฑฐ๋กœ ๋ช…ํ™•ํ•œ ํ•™์Šต๋กœ๋“œ๋งต๊ณผ ์†Œ์š”์‹œ๊ฐ„์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.

  • ์ž˜๋ชป๋œ ์„ ํƒ์œผ๋กœ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜๋Š” ์ผ์ด ์—†๋„๋ก ์ฒ˜์Œ๋ถ€ํ„ฐ ์ ์ ˆํ•œ ํ•™์Šต ๋ฐฐ๋ถ„ ๋ฐ ์ผ์ •์„ ์ˆ˜๋ฆฝํ•˜๋„๋ก ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์Šต ํ™˜๊ฒฝ

  • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „(OS): Windows 11

  • ์‚ฌ์šฉ ๋„๊ตฌ: IntelliJ IDEA 2024.2.3 (Community Edition)

  • PC ์‚ฌ์–‘: Windows 11 OS ๋ฐ IntelliJ๊ฐ€ ๋ฌด๋ฆฌ ์—†์ด ์ž‘๋™ ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€

ํ•™์Šต ์ž๋ฃŒ

  • ์ˆ˜์—…์— ์‚ฌ์šฉ๋œ PPT์ž๋ฃŒ (PDFํŒŒ์ผ๋กœ ์ œ๊ณต)

  • ์ „์ฒด ์˜ˆ์ œ ๋ฐ ํ•„์ˆ˜์‹ค์Šต ๋ฌธ์ œ ์ •๋‹ต(Zip ์••์ถ• ํŒŒ์ผ๋กœ ์ œ๊ณต)

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • '๊ธฐ์ดˆํƒ„ํƒ„' ๋…ํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” Java Part 1~3(์ƒ)
    (โ€ป ๊ธฐ์ดˆ์ ์ธ ๋ฌธ๋ฒ•์ด๋‚˜ OOP๋Š” ๋ฌผ๋ก  ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ์™€ ๋™๊ธฐํ™”์— ๊ด€ํ•ด ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •)


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • Java ๊ธฐ๋ฐ˜ ๊ณ ์„ฑ๋Šฅ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹ถ์€ ๋ถ„

  • ์†Œ์ผ“์˜ ๋ณธ์งˆ์„ ์ดํ•ดํ•˜๊ณ  ์‹ค๋ฌด์— ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์„ฑ๋Šฅ ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๋ถ„

  • ๋™๊ธฐ/๋น„๋™๊ธฐ ํŒŒ์ผ ์ž…/์ถœ๋ ฅ์˜ ์˜๋ฏธ๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์ดˆ๊ธ‰ ์ˆ˜์ค€์„ ํ™•์‹คํžˆ ๋„˜์–ด์„œ๋ ค๋Š” ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • ๋…ํ•˜๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” Java Part2~3(์ƒ) ๊ฐ•์˜์—์„œ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ๋ถ„

์•ˆ๋…•ํ•˜์„ธ์š”
๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

48,652

๋ช…

์ˆ˜๊ฐ•์ƒ

2,838

๊ฐœ

์ˆ˜๊ฐ•ํ‰

1,179

๊ฐœ

๋‹ต๋ณ€

4.9

์ 

๊ฐ•์˜ ํ‰์ 

27

๊ฐœ

๊ฐ•์˜

๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž TV ์ฑ„๋„ ์ฃผ์ธ์žฅ์ด์ž
30๋…„ ๋„˜๊ฒŒ IT๊ธฐ์ˆ ์˜ ๋ฐ”๋‹ค๋ฅผ ํ•ญํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฐœ๋ฐœ์ž ์ž…๋‹ˆ๋‹ค.  ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค. ^^  

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

45๊ฐœ โˆ™ (9์‹œ๊ฐ„ 15๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

18๊ฐœ

5.0

18๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • ZZAMBA๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ZZAMBA

    ์ˆ˜๊ฐ•ํ‰ 12

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ํŒŒ์ผ ์ž…์ถœ๋ ฅ์„ ๋‹ค๋ฃฐ์ผ์ด ๋ณ„๋กœ ์—†์–ด์„œ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค ์ƒ๊ฐํ•˜๊ณ  ์‚ด์•˜์ง€๋งŒ ์†Œ์ผ“๋„ ํŒŒ์ผ์ด๋ผ๋Š” ์ ์—์„œ ๋งค์šฐ ์ค‘์š”ํ•จ์„ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์™ธ์—๋„ ์ˆ˜์—…์—์„œ ์ด์ „์— ๋‹ค๋ฃฌ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ์™€ ๋…ผ๋ธ”๋กœํ‚น ๋น„๋™๊ธฐ ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์ ๋„ ์‹ ์„ ํ•˜๊ฒŒ ๋‹ค๊ฐ€์˜จ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ์ข‹์€ ๊ฐ•์˜์˜€์Šต๋‹ˆ๋‹ค!

    • ๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž
      ์ง€์‹๊ณต์œ ์ž

      ํŒŒ์ผ ์ž…/์ถœ๋ ฅ์€ CS์ด๋ก ์ด ์ง‘์ค‘๋˜๋Š” ์ค‘์š”ํ•œ ๋‚ด์šฉ์ด ๋‹ค์ˆ˜ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ๋А๋ผ์…จ๊ฒ ์ง€๋งŒ ๊ทธ ์ค‘์š”์„ฑ์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ•์กฐ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ธ์‹์ด ์ƒ๊ฒผ๋‹ค๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ํ›Œ๋ฅญํ•œ ์„ฑ๊ณผ๋ฅผ ๊ฑฐ๋‘์‹  ๊ฒƒ์ด๋ผ๋Š” ์ ๋„ ๊ผญ ๋ง์”€๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋” ๋„“์€ ์‹œ์•ผ๋ฅผ ๊ฐ–๊ฒŒ ๋˜์‹  ๊ฒƒ ๊ฐ™์•„ ๊ฐ•์‚ฌ๋กœ์จ ๊ธฐ๋ถ„์ด ์ข‹์Šต๋‹ˆ๋‹ค. :)

  • ๊น€์ฃผ์›๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ๊น€์ฃผ์›

    ์ˆ˜๊ฐ•ํ‰ 9

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    33% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

  • ๋”๋ธ”์ง€๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ๋”๋ธ”์ง€

    ์ˆ˜๊ฐ•ํ‰ 31

    โˆ™

    ํ‰๊ท  ํ‰์  4.9

    5

    31% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ์ž๋ฐ” + cs ์ด๋ก ๊นŒ์ง€ ๊ฐ™์ด ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๊ฐ•์˜

    • ๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž
      ์ง€์‹๊ณต์œ ์ž

      ์ฒซ ๋ฒˆ์งธ ์ˆ˜๊ฐ•ํ‰ ๊ณ ๋ง™์Šต๋‹ˆ๋‹ค. ์ƒˆ ๊ฐ•์˜๋ฅผ ์˜คํ”ˆํ•˜๋ฉด ์ฒซ ํ‰๊ฐ€๋ฅผ ์ •๋ง ๋ชฉ๋งˆ๋ฅด๊ฒŒ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์ข‹๊ฒŒ ๋ด์ฃผ์…”์„œ ๋งˆ์Œ์ด ํŽธ์•ˆํ•ด์กŒ์Šต๋‹ˆ๋‹ค. :)

  • ๊ฐ•์œค์ˆ˜๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ๊ฐ•์œค์ˆ˜

    ์ˆ˜๊ฐ•ํ‰ 12

    โˆ™

    ํ‰๊ท  ํ‰์  4.9

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ์ค‘๊ฐ„์ค‘๊ฐ„ ์•Œ๋ ค์ฃผ์‹œ๋Š” CS์ง€์‹๊ณผ ํ•ด๋‹น ์ง€์‹๊ณผ ์—ฐ๊ด€์ง€์–ด ์„ค๋ช…ํ•ด์ฃผ์‹œ๋Š”๊ฒŒ ์•„์ฃผ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

  • SeongHun Jeong๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    SeongHun Jeong

    ์ˆ˜๊ฐ•ํ‰ 16

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๋„๋„ํ•œ ๊ฐœ๋ฐœ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

๋น„์Šทํ•œ ๊ฐ•์˜

๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

โ‚ฉ66,000