JavaRush /Java Blog /Random-KO /Java ์ž‘์—… ์œ ํ˜•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Java ์ž‘์—… ์œ ํ˜•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์‚ฌ๋žŒ์ด ์Šค์Šค๋กœ ๋˜๋Š” ์˜จ๋ผ์ธ ๊ณผ์ •์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ณต๋ถ€ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด "ํ™œ๋™ ๋ถ„์•ผ"๋ฅผ ์ •์˜ํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์„ ์ฒด๊ณ„ํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” JavaRush ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•™์Šต๊ณผ ์œ ์šฉํ•œ ๋งํฌ๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•œ ์˜จ๋ผ์ธ ์ฝ”์Šค์—์„œ ํŠน์ • ์œ ํ˜•์ด ์–ผ๋งˆ๋‚˜ ์™„๋ฒฝํ•˜๊ฒŒ ์ œ๊ณต๋˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ์ž‘์—…์˜ ์ฒด๊ณ„ํ™”๋ฅผ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค . Java ์ž‘์—… ์œ ํ˜•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ - 1

์–ธ์–ด ๊ตฌ๋ฌธ ๋ฌธ์ œ

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์ตœ์ดˆ์˜ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—…์ธ ๊ธฐ๋ณธ ์‚ฌํ•ญ - "Hello World"๋ถ€ํ„ฐ ๋ฃจํ”„ ๋ฐ ๋ฐฐ์—ด๊นŒ์ง€. JavaRush์—๋Š” ์ด๋Ÿฌํ•œ ํ•ญ๋ชฉ์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ฒ˜์Œ 6๊ฐœ ๋ ˆ๋ฒจ์˜ Java ๊ตฌ๋ฌธ ํ€˜์ŠคํŠธ์— ๋ฐ€์ง‘๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์†Œ์Šค๋ฅผ ์ฐพ์„ ํ•„์š”๋Š” ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์†Œ์Šค๊ฐ€ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋” ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ ์ž๋™์œผ๋กœ ๊ตฌ๋ฌธ์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ‘์ž๊ธฐ ํ•„์š”ํ•˜๋‹ค๋ฉด ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ๋ฌธ์ œ์ง‘์—๋Š” ๋น„์Šทํ•œ ์—ฐ์Šต ๋ฌธ์ œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ด ๋ฌธ์ œ์ง‘์—๋Š” JavaRush์ฒ˜๋Ÿผ ์ฆ‰๊ฐ์ ์ธ ํ™•์ธ์€ ์—†์Šต๋‹ˆ๋‹ค.

์ˆ˜์ง‘์—…๋ฌด

์ปฌ๋ ‰์…˜์€ ์ดˆ๋ณด ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ณต๋ถ€ํ•˜๋Š” ๋™์•ˆ ์ ‘ํ•˜๊ฒŒ ๋˜๋Š” ์ฒซ ๋ฒˆ์งธ "์‹ฌ๊ฐํ•œ" ์ฃผ์ œ์ž…๋‹ˆ๋‹ค. ์ปฌ๋ ‰์…˜ ์ „์šฉ์ธ ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ๋ฌธ์ œ๋„ JavaRush( Java ๊ตฌ๋ฌธ ํ€˜์ŠคํŠธ์˜ 7๋ฒˆ์งธ ๋ฐ 8๋ฒˆ์งธ ๋ ˆ๋ฒจ)์— ๋„๋ฆฌ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ํ•™์ƒ์€ ์ฒ˜์Œ์œผ๋กœ Java ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•ด ๋“ฃ๊ณ  Set, List ๋ฐ Map ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ผ๋ถ€ ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์ด ์œ ์šฉํ•œ ๋„๊ตฌ์™€ ๊ฐ„๋‹จํ•œ Java ์ž‘์—…๋งŒ ์•Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ๋ณด๋‹ค ์ฒ ์ €ํ•œ ์—ฐ๊ตฌ๋Š” Java ์ปฌ๋ ‰์…˜ ํ€˜์ŠคํŠธ ์ค‘์— ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค . ์ „์ฒด ํ€˜์ŠคํŠธ์˜ ์ด๋ฆ„์ด ์ด ๋ฌผ๊ฑด์˜ ์ด๋ฆ„์„ ๋”ฐ์„œ ๋ช…๋ช…๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฌผ๊ฑด์ด ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

์˜ˆ์™ธ ๋ฌธ์ œ

Java์˜ ๋น„์ •์ƒ์ ์ธ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์ž‘์—…์„ ๋‹ด๋‹นํ•˜๋Š” ํŠน์ˆ˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์žˆ์–ด ํ”„๋กœ๊ทธ๋žจ์—์„œ ์˜ค๋ฅ˜๋ฅผ "์žก๋Š”" ์ž‘์—…์ด ํฌ๊ฒŒ ๋‹จ์ˆœํ™”๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฅผ ์™„์ „ํžˆ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Java์—์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. JavaRush์—๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…์ด ๋งŽ์ด ์žˆ์œผ๋ฉฐ ์ฒซ ๋ฒˆ์งธ Java ๊ตฌ๋ฌธ ํ€˜์ŠคํŠธ์—์„œ๋„ ๋ฐœ๊ฒฌ๋ฉ๋‹ˆ๋‹ค.
Java ์ž‘์—… ์œ ํ˜•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ - 2

์œ ํ˜• ๋ณ€ํ™˜ ๋ฌธ์ œ

๋ฌผ๋ก  ์ด ๊ทธ๋ฃน์€ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ ์ž‘์—…์œผ๋กœ ๋ถ„๋ฅ˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ์˜ ๊ฒธ์†ํ•œ ์˜๊ฒฌ์œผ๋กœ๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…์€ ์ข…์ข… ๊ณผ์†Œํ‰๊ฐ€๋˜๋ฉฐ ์ดˆ๋ณด์ž๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ…œํ”Œ๋ฆฟ์—์„œ ๋ฒ—์–ด๋‚˜์ž. "๊ธฐ๋ณธ ์œ ํ˜•์˜ ๋ณ€ํ™˜"์ด๋ผ๋Š” ์ฃผ์ œ์— ๋Œ€ํ•ด ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ์ž‘์—…์„ ์ž์ฃผ ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋งจ ์ฒ˜์Œ์— ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์กฐ๊ธˆ ๋‚˜์ค‘์— ์ฒซ ๋ฒˆ์งธ Java ๊ตฌ๋ฌธ ํ€˜์ŠคํŠธ๊ฐ€ ๋๋‚  ๋•Œ ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Java Core ํ€˜์ŠคํŠธ์—์„œ OOP๋ฅผ ๊ณต๋ถ€ํ•˜์—ฌ ๊ธฐ๋ณธ์ด ์•„๋‹Œ ์œ ํ˜•(๊ฐ์ฒด)์„ ์บ์ŠคํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค . JavaRush์—๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…์ด ๋งŽ์ด ์žˆ์œผ๋ฏ€๋กœ ์ถ”๊ฐ€๋กœ ์ฐพ์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

OOP๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…

OOP๋Š” ๊ฐ€์žฅ ์–ด๋ ค์šด ์ฃผ์ œ๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋ฉด์ ‘๊ด€๋“ค์ด ๋ฏธ๋ž˜์˜ 'ํ›„๋ฐฐ'๋ฅผ ์žก๊ธฐ ์œ„ํ•ด ์ฆ๊ฒจ ์‚ฌ์šฉํ•˜๋Š” ๋ฏธ๋ฌ˜ํ•œ ์š”์†Œ๋„ ๋งŽ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. JavaRush ๊ณผ์ •์—๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์‹ค์šฉ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ์ œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ OOP๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋ ค๋ฉด ํ•ด๋‹น ์ฃผ์ œ์— ๋Œ€ํ•œ ๋ฌธํ—Œ(์˜ˆ: Kay Horstmann, Gary Cornell์˜ Professional's Library, McLaughlin์˜ Object-Oriented Analysis and Design ๋˜๋Š” ๊ธฐํƒ€ ์ฑ… )์„ ์ฝ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

I/O ์Šค๋ ˆ๋“œ ์ž‘์—…

์šฐ๋ฆฌ๋Š” I/O ์ŠคํŠธ๋ฆผ์„ ์ดํ•ดํ•˜๊ธฐ ์˜ค๋ž˜ ์ „์— ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Java์ž…๋‹ˆ๋‹ค. System.out์„ ์„ค๋ช…ํ•˜๊ณ  ๊ฒŒ๋‹ค๊ฐ€ System.in์„ ์ดˆ๋ณด์ž์—๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต๊ณ  ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Java Core ํ€˜์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋™์•ˆ์—๋Š” ์ด ๋‹ค์†Œ ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ์ฃผ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ์ง€์‹๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ•˜๋ฉฐ, ์ฝ˜์†” ์ž…๋ ฅ/์ถœ๋ ฅ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ž‘์—…์— ๋Œ€ํ•ด์„œ๋„ ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ๊ฑด๋„ˆ๋›ฐ์ง€ ์•Š๊ณ (JavaRush์—๋Š” ์ƒ๋‹นํžˆ ๋งŽ์€ ์ž‘์—…์ด ์žˆ์Œ) ์ด๋ก ์„ ์ผ๊ด€๋˜๊ฒŒ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํผ์ฆ

"ํผ์ฆ"์ด๋ž€ ๋งŽ์€ ์ง€์‹์ด ํ•„์š”ํ•˜์ง€ ์•Š๊ณ  ์ด๋ฅผ ๋น„ํ‘œ์ค€ ๋ฐฉ์‹์œผ๋กœ ์ ์šฉํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•œ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Java Junior์˜ ์ผ๋ฐ˜์ ์ธ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์ธํ„ฐ๋ทฐ์—์„œ๋Š” ๋งค์šฐ ์ธ๊ธฐ๊ฐ€ ์žˆ์ง€๋งŒ ์‹ค์ œ ์ž‘์—…์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์˜๋ฏธ์˜ ํผ์ฆ์ด ํ”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— JavaRush์—๋Š” ๊ทธ๋Ÿฐ ๊ฒƒ๋“ค์ด ์žˆ์ง€๋งŒ ๊ทธ๋‹ค์ง€ ๋งŽ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค(๋ณดํ†ต Bobrov ์„ ์žฅ์˜ ์ˆ˜์—…์— ์žˆ์Œ).
Java ์ž‘์—… ์œ ํ˜•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ - 3
ํผ์ฆ์€ ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋‚˜์š”?

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

๋ฏธ๋ž˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ์–ผ๋งˆ๋‚˜ ํ•„์š”ํ•œ์ง€์— ๋Œ€ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ๋Š์ž„์—†๋Š” ๋…ผ์Ÿ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ๋ฒˆ ์šฐ๋ฆฌ๋Š” ๋Œ€๋‹ตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค: ์‚ฌ๊ณ ์˜ ๋ฐœ์ „์„ ์œ„ํ•ด โ€“ ์—…๋ฌด์— ์ง์ ‘์ ์œผ๋กœ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค โ€“ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. Java ๋ฐ ๊ธฐํƒ€ ์–ธ์–ด์˜ ๊ฒฝ์šฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ด๋ฏธ ์•Œ๋ ค์ง„ ๋ชจ๋“  ์ •๋ ฌ, ๊ฒ€์ƒ‰ ๋ฐ ๊ธฐํƒ€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ตฌํ˜„์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž์‹ ๋งŒ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณต์žก์„ฑ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋ฐœ์ „์‹œํ‚ค๋Š” ๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ํ•™๊ต์—์„œ ์ˆ˜ํ•™๋งŒ ๊ณต๋ถ€ํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๋”์šฑ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ์›์น™์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์ž‘์—…์—๋Š” ํผ์ฆ์ด ์‚ฐ์žฌํ•ด ์žˆ์œผ๋ฉฐ ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ๋ชจ๋“  ์ž‘์—…์ด ์˜จ๋ผ์ธ์—์„œ ์—ฌ๋Ÿฌ ๋ฒˆ ์„ค๋ช…๋˜๊ณ  ํ•ด๊ฒฐ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒ€์ฆ์„ ์œ„ํ•ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ๋„ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋ฆฐ์Šคํ„ด ๋Œ€ํ•™๊ต , ์บ˜๋ฆฌํฌ๋‹ˆ์•„ ๋˜๋Š” Stepic ์˜ ๋™๋ฃŒ ๋“ฑ ์›ํ•˜๋Š” ๊ณผ์ •์„ ์„ ํƒํ•˜์„ธ์š” . ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์šฐ๋ฆฌ๊ฐ€ JavaRush์— ๋ฒˆ์—ญํ•œ CS50 ๊ณผ์ • ์—์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋…ผ์˜๋ฉ๋‹ˆ๋‹ค. ๋ ˆ๋ฒจ 2~5์˜ ๋น„๋””์˜ค๋ฅผ ์‹œ์ฒญํ•˜๊ณ  Java๋กœ ์ž‘์—…์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„ ๋ฌธ์ œ: ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ž‘์—…:

๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ

๋ˆ„๊ตฌ๋‚˜ "Hello World"๋ฅผ ์ธ์‡„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค... ์œ ๋ช…ํ•œ ๋ฌธ๊ตฌ๊ฐ€ ์ถ”๊ฐ€ ์Šค๋ ˆ๋“œ์—์„œ ์ธ์‡„๋˜๋„๋ก Java Thread API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  5๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—์„œ "Hello world"๋ฅผ 5๋ฒˆ ์ธ์‡„ํ•˜๊ณ  ์ค„์ด ๋ฒˆ๊ฐˆ์•„ ํ‘œ์‹œ๋˜์ง€ ์•Š๋„๋ก?. ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์€ Java Core๋ฅผ ํ•™์Šตํ•˜๋Š” ๋™์•ˆ ์‹ค์ œ "๊ฐ•๋„ ํ…Œ์ŠคํŠธ"์ž…๋‹ˆ๋‹ค. JavaRush์— ๋Œ€ํ•œ ์ „์ฒด ํ€˜์ŠคํŠธ๋Š” Java ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ์ด๋ผ๊ณ  ํ•˜๋Š” ์ด ๋งค์šฐ ์–ด๋ ค์šด ์ฃผ์ œ์— ์ „๋…ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์—๋Š” ํ•™์ƒ์ด ๋ณ‘๋ ฌ ํ”„๋กœ์„ธ์Šค์˜ "๊ณ ํ†ต๊ณผ ์•„๋ฆ„๋‹ค์›€"์„ ๋Š๋‚„ ์ˆ˜ ์žˆ๋„๋ก ๋งŽ์€ ์ž‘์—…์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๊ฐœ ํ•™์ƒ๋“ค์˜ ์ฒซ ๋ฒˆ์งธ "์‹ค์ œ" ํ”„๋กœ์ ํŠธ์—๋Š” ์–ด๋Š ์ •๋„ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐ„๋‹จํ•œ ๊ฒŒ์ž„.
Java ์ž‘์—… ์œ ํ˜•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ - 4

๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ์ž‘์—…

๋‹ค์„ฏ ๋ช…์˜ ์นจ๋ฌตํ•˜๋Š” ์ฒ ํ•™์ž๋“ค์ด ์›ํƒ์— ์•‰์•„ ์žˆ๋‹ค. ๊ทธ๋“ค ๊ฐ๊ฐ์˜ ์•ž์—๋Š” ์ŠคํŒŒ๊ฒŒํ‹ฐ ํ•œ ์ ‘์‹œ๊ฐ€ ๋†“์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌํฌ๋Š” ํ…Œ์ด๋ธ”์˜ ๊ฐ ์ฒ ํ•™์ž์˜ ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ(๊ทธ๋“ค ์‚ฌ์ด)์— ๋†“์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒ ํ•™์ž๋Š” ๋จน์„ ์ˆ˜๋„ ์žˆ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”์šฑ์ด ๊ทธ๋Š” ๋‘ ๊ฐœ์˜ ํฌํฌ๋ฅผ ๋“ค๊ณ  ์žˆ์–ด์•ผ๋งŒ ๋จน์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ์˜ค๋ฅธ์ชฝ๊ณผ ์™ผ์ชฝ์— ์žˆ์Šต๋‹ˆ๋‹ค. โ€œํฌํฌ๋ฅผ ์ง‘๋Š”๋‹คโ€์™€ โ€œํฌํฌ๋ฅผ ๋‚ด๋ ค๋†“๋Š”๋‹คโ€๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ๋ณ„๋„์˜ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

์ œ๋„ค๋ฆญ์— ๋Œ€ํ•œ ์ž‘์—…

์ผ๋ฐ˜ํ™”๋Š” ์ž๋™ํ™”, ์ฆ‰ ์–ด๋–ค ์˜๋ฏธ์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋ณธ์งˆ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Java์˜ ์ผ๋ฐ˜ํ™” ๋˜๋Š” ์ œ๋„ค๋ฆญ ์ฃผ์ œ๋„ ๋ฌด์‹œํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. JavaRush์—๋Š” ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค(์ฃผ๋กœ ๋ ˆ๋ฒจ 5๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” Java ์ปฌ๋ ‰์…˜ ํ€˜์ŠคํŠธ์— ์žˆ์Œ). ์ œ๋„ค๋ฆญ์— ๋Œ€ํ•œ ์œ ์šฉํ•œ ์—ฐ์Šต๊ณผ ์ž๋ฃŒ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ณณ:

๋””์ž์ธ ํŒจํ„ด ์ž‘์—…

์–ด๋–ค ๋‹จ๊ณ„(JavaRush ๊ณผ์ •์˜ ์•ฝ 2/3)์—์„œ ์ดˆ๋ณด ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์˜ฌ๋ฐ”๋ฅธ ๋งค๋„ˆ ๊ทœ์น™์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ธฐ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์˜ฌ๋ฐ”๋ฅธ ์ฝ”๋“œ ํ˜•์‹(๋” ์‰ฌ์›€)๊ณผ ๋””์ž์ธ ํŒจํ„ด(๋” ์–ด๋ ค์›€)์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. JavaRush์—๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ํ•ญ๋ชฉ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฑ…(4๋ถ€) " Java."์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ• ยป Blinov ๋ฐ Romanchik. ๋˜๋Š” ์ด๋ฏธ ํ•ด๊ฒฐ๋œ ๋ฌธ์ œ๋ฅผ ํ…œํ”Œ๋ฆฟ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”.

๋‹จ์œ„ ํ…Œ์ŠคํŠธ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ค‘์š”ํ•œ ๊ธฐ์ˆ ์€ ์ข…์ข… ํ…Œ์Šคํ„ฐ์—๊ฒŒ๋งŒ ๋ถ€์—ฌ๋˜๋Š” ์‹ค์ˆ˜๋กœ ์ž์‹ ์˜ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋‹จ์œ„(๋˜๋Š” ๋‹จ์œ„) ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. JavaRush์—๋Š” ๋ช‡ ๊ฐ€์ง€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์—…์ด ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ ์ƒˆ๋กœ์šด ์ž‘์—…์„ ์ฐพ๋Š” ๋ฐ ์‹ ๊ฒฝ์„ ์“ธ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์„ ํŒŒ์•…ํ•œ ํ›„์—๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋กœ ์ฝ”๋“œ(์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ, ๊ต์œก ์ž‘์—…์—์„œ)๋ฅผ ๋‹ค๋ฃจ๋Š” ์Šต๊ด€์„ ํ˜•์„ฑํ•˜์„ธ์š”. ์ด๊ฒƒ์€ ํ•™์ƒ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ฒช๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋Š” ์ฝ˜์†” ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋” ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ํšŒ์‚ฌ๊ฐ€ "ํ›„๋ฐฐ"์—๊ฒŒ ๊ฐ€์žฅ ๋จผ์ € ๋งก๊ธด ์ผ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ •๊ทœ์‹ ๋ฌธ์ œ

์ด๊ฒƒ์€ ํŠน์ดํ•˜๊ณ  ๊ฒŒ์œผ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๋ณด์ž๊ฐ€ ๊ฑฐ์˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์ฃผ์ œ์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ์ฃผ์ œ๋ฅผ ์—ฐ๊ตฌํ•˜๊ณ , "์ •๊ทœ"๋ฅผ ์ดํ•ดํ•˜๊ณ , ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š์€ ์‚ฌ๋žŒ๋“ค๋ณด๋‹ค ์ด์ ์„ ์–ป๋Š” ๋ฐ ๋ฉฐ์น ์„ ๋ณด๋‚ผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๊ฑฐ์˜ ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ๋ฐฐ์šฐ๋ฉด ์–ด๋””์—์„œ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •๊ทœ์‹์— ์ดˆ์ ์„ ๋งž์ถ˜ JavaRush์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ์ผ๋ถ€๋Š” ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์ œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Java ์ž‘์—… ์œ ํ˜•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ - 5
  • Java์˜ ์ •๊ทœ์‹ - Jeff Friesen์˜ ๊ธฐ์‚ฌ ๋ฒˆ์—ญ
  • ์ •๊ทœ์‹ ํ…Œ์ŠคํŠธ - ์ •๊ทœ์‹์„ ์˜จ๋ผ์ธ์œผ๋กœ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค
  • Mike Fitzgerald ์ •๊ทœ ํ‘œํ˜„์‹์€ ์งง๊ณ  ๊ฐ„๋‹จํ•œ ํŠœํ† ๋ฆฌ์–ผ์ž…๋‹ˆ๋‹ค.

ํŠธ๋ฆญ์ด ์žˆ๋Š” Java ๋ฌธ์ œ

์ด ๋ฒ”์ฃผ์—๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์‹ค์ œ ์ž‘์—…๊ณผ ์ง์ ‘์ ์ธ ๊ด€๋ จ์ด ์—†๋Š” ๊นŒ๋‹ค๋กœ์šด ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ฉด์ ‘ ์‹œ ์ ‘ํ•˜๊ฒŒ ๋˜๋ฉฐ, ์ง€์›์ž์˜ ํŠน์ • ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ดํ•ด/์ง€์‹์˜ ๊นŠ์ด๋ฅผ ์ดํ•ดํ•˜๊ฑฐ๋‚˜ ๊ทธ์˜ ์ฃผ์˜๋ ฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ํ•„์š”ํ•˜๋ฉด Google "Java Interview Problems" ๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋‹ค์–‘ํ•œ ํฌ๋Ÿผ์—์„œ ๋งŽ์€ ์ปฌ๋ ‰์…˜๊ณผ ์งˆ๋ฌธ ๋ฐ ๋‹ต๋ณ€์„ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ดํ•ดํ•˜๋Š” ๋ฐ๋Š” ์œ ์šฉํ•˜์ง€๋งŒ ๋„ˆ๋ฌด ๋งŽ์€ ์‹œ๊ฐ„์„ ํˆฌ์žํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋‚˜์š”? Kay Horstmann์€ ์šฐ๋ฆฌ๊ฐ€ 1์›”์— ๋ฒˆ์—ญํ•œ InformIT์˜ ๊ธฐ์‚ฌ์—์„œ ๊ทธ๋Ÿฌํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž˜ ์–ธ๊ธ‰ํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค . ๊ทธ์˜ ์ƒ๊ฐ์„ ๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•˜์ž๋ฉด ํ˜„์‹ค์„ธ๊ณ„์˜ ๊ณผ์ œ๋„ ์žˆ๊ณ , ํ‰ํ–‰์šฐ์ฃผ - '๋ฉด์ ‘ ๋ฌธ์ œ'๋„ ์žˆ๋‹ค.

๋žŒ๋‹ค ํ‘œํ˜„ ๋ฌธ์ œ

๋žŒ๋‹ค ํ‘œํ˜„์‹์— ๋Œ€ํ•œ ์ง€์›์€ Java 8์— ๋“ฑ์žฅํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ค๋Š˜๋‚  "Java Junior ์ž‘์—…"์˜ ๊ฐœ๋…์—๋Š” ๋žŒ๋‹ค ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•œ ์กฐ์ž‘์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” " Java์˜ ๋žŒ๋‹ค ํ‘œํ˜„์‹์— ๋Œ€ํ•œ ์ธ๊ธฐ ์žˆ๋Š” ๊ธฐ์‚ฌ"์—์„œ ํ•ด๋‹น ๋‚ด์šฉ์— ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ์™€ ๊ณผ์ œ๋กœ ."

๋„คํŠธ์›Œํ‚น ์ž‘์—…

JSON, RMI, HttpUrlConnection, ์†Œ์ผ“์˜ ์ง๋ ฌํ™”... ์ด๊ฒƒ์€ ์ •ํ™•ํžˆ ์ดˆ๋ณด์ž ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—…์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ํƒ„ํƒ„ํ•œ ์ง€์‹์ด ํ•„์š”ํ•˜๋ฉฐ ์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ, ์ธํ„ด์‹ญ ๋ฐ ์—…๋ฌด์— ๋Œ€ํ•œ ์ผ์ข…์˜ ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. JavaRush(Java ์ปฌ๋ ‰์…˜ ํ€˜์ŠคํŠธ)์˜ ๊ณ ๊ธ‰ ์ˆ˜์ค€์—๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ๊ณผ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ตํžˆ๊ธฐ ์œ„ํ•œ ๋งŽ์€ ์—ฐ์Šต์ด ์žˆ์ง€๋งŒ ์˜จ๋ผ์ธ ์ธํ„ด์‹ญ ๋™์•ˆ ๋ชจ๋“  ๊ฒƒ์ด ํ›จ์”ฌ ๋” ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION