JavaRush /Java Blog /Random-KO /Java Magic: ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”
ะ—ะตะปะตะฝะฐั ะปัะณัƒัˆะบะฐ
๋ ˆ๋ฒจ 26
ะœะพัะบะฒะฐ

Java Magic: ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

์†Œ๊ฐœ

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

๋ฐœํ‘œ

๋งˆ๋ฒ•์˜ ์„ธ๊ณ„์—์„œ๋Š” ์ฒซ์งธ, ๋ฌผ์งˆ์ด ์•„๋‹ˆ๋ผ ์˜์‹์ด ์ผ์ฐจ์ ์ž…๋‹ˆ๋‹ค. ๋‘˜์งธ, ์ƒ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์–ด๋–ค ์‹ค์ฒด๋ผ๋„ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์‹ค์ฒด์˜ ์ƒ์„ฑ์€ ๊ทธ๊ฒƒ์ด ์กด์žฌํ•œ๋‹ค๋Š” ์ฃผ์žฅ์—์„œ ์‹œ์ž‘๋œ๋‹ค. ์ด๊ฒƒ์„ ๊ณต์ง€๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ˆ ์‚ฌ๋Š” ์ƒ์„ฑ๋œ ์—”ํ„ฐํ‹ฐ์— ๋Œ€ํ•ด ๊ฐ’ ๋ณ€๊ฒฝ์„ ํฌํ•จํ•˜์—ฌ ์–ธ์ œ๋“ ์ง€ ๋ฌด์—‡์ด๋“  ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์„ ์–ธ๋œ ์—”ํ„ฐํ‹ฐ๋ฅผ ๋ณ€์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๋ณด ๋งˆ์ˆ ์‚ฌ๋ผ๋„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์—, ํƒ€์ž…์„ ์ด์šฉํ•˜์—ฌ ๊ฐœ์ฒด๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ณ  ์ฒด๊ณ„ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ฐฝ์กฐ์ฃผ๊ฐ€ ๋งŒ๋“  ์œ ํ˜•์ด ์žˆ์œผ๋ฉฐ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๊ธฐ๋ณธ ์œ ํ˜•์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ์œ ํ˜•์€ ๋งˆ์ˆ ์‚ฌ๊ฐ€ ์ง์ ‘ ์ƒ์„ฑํ•˜๋ฉฐ ์ด๋ฅผ ๊ฐ์ฒด ์œ ํ˜•์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€์ˆ˜ ์ด๋ฆ„

๊ฐ ๋ณ€์ˆ˜์—๋Š” ์‹ค์ œ ์ด๋ฆ„์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋งˆ์ˆ ์‚ฌ๊ฐ€ ๋งŒ๋“  ๊ฐœ์ฒด๋Š” ์ด๋ฆ„๋งŒ์œผ๋กœ ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์€ ๋‚œํ•ดํ•œ ์ ์„ฑ์ˆ  ์œ ๋‹ˆ์ฝ”๋“œ ์‹œ์Šคํ…œ์—์„œ ๋ฌธ์ž์™€ ์ˆซ์ž๋กœ ๊ฐ„์ฃผ๋˜๋Š” ๋งˆ๋ฒ•์˜ ๊ธฐํ˜ธ๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ‘์ค„ ๋ฌธ์ž _๋Š” ๋ฌธ์ž๋กœ ๊ฐ„์ฃผ๋˜๋ฏ€๋กœ ๋ณ€์ˆ˜ ์ด๋ฆ„์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„์€ ๋ฌธ์ž๋กœ ๊ฐ„์ฃผ๋˜๋Š” ๋งˆ๋ฒ•์˜ ๊ธฐํ˜ธ๋กœ๋งŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๊ธ€์ž๋Š” ์†Œ๋ฌธ์ž์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. MAMAN(Interworld Association of Mages and Adepts of Necromancy)์€ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ข‹์€ ํ˜•์‹์˜ ๋ช‡ ๊ฐ€์ง€ ๋น„๊ณต์‹ ๊ทœ์น™์„ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ด๋ฆ„์€ ์˜๋ฏธ๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ ๋‹จ์–ด๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋‹จ์–ด๋ฅผ ๋ณ‘ํ•ฉํ•  ๊ฒฝ์šฐ ๊ฐ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž(์ฒซ ๋ฒˆ์งธ ๋‹จ์–ด ์ œ์™ธ)๋Š” ๋Œ€๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, myLittlePony์ž…๋‹ˆ๋‹ค. ์ด ์Šคํƒ€์ผ์„ "๋‚™ํƒ€ ๊ณ ๋น„"๋ผ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Š” ๋‚™ํƒ€์˜ ํฌ์ƒ ์ดํ›„์— ๋ฐœ๋ช…๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ณ€์ˆ˜ ์œ ํ˜•

Java์˜ ๋งˆ๋ฒ•์—์„œ๋Š” ๋ชจ๋“  ๋ณ€์ˆ˜๊ฐ€ ๊ฐ•๋ ฅํ•œ ํ˜•์‹์œผ๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ๋ณ€์ˆ˜์—๋Š” ์œ ํ˜•์ด ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ์„ ์–ธํ•  ๋•Œ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์œ ํ˜•๊ณผ ๊ฐ์ฒด ์œ ํ˜•์ด ์žˆ์Œ์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ์›์‹œ - 8. 8์€ ์•…๋งˆ์˜ ์ˆซ์ž์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 2์˜ 4์Šน์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์†Œ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ  1๋ถ€ํ„ฐ 8๊นŒ์ง€์˜ ์ˆซ์ž๋กœ ๋‚˜๋จธ์ง€ ์—†์ด ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์œ ํ˜•: boolean, char, byte, short, int, long, float, double. ๊ฐ์ฒด ์œ ํ˜•์€ ๋งˆ์ˆ ์‚ฌ๊ฐ€ ์ง์ ‘ ๊ณ ์•ˆํ–ˆ์œผ๋ฉฐ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด โ€“ MySweetPony. Java์˜ ๊ธฐ์›์ด์ž MAMAN์˜ ์ผ๋ถ€์ธ ๋งˆ์ˆ ์‚ฌ์— ์˜ํ•ด ์ด๋ฏธ ์ˆ˜์ฒœ ๊ฐœ์˜ ๊ฐ์ฒด ์œ ํ˜•(ํด๋ž˜์Šค)์ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ปฌ๋ ‰์…˜์„ Java API๋ผ๊ณ  ํ•˜๋ฉฐ ์–ด๋–ค ์ œํ•œ ์—†์ด ๋งˆ๋ฒ•์—์„œ ํด๋ž˜์Šค(์œ ํ˜•)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐœํ‘œ

๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜์˜ ์œ ํ˜•๊ณผ ์ด๋ฆ„์„ ์ง€์ •ํ•˜์—ฌ ์„ ์–ธ์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์˜ˆ:
boolean isPony;
String ponyName;
int ponyTaleSize;
Pony sweetieBelle;
๊ฐ ์ค„ ๋์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Java์˜ ๋ชจ๋“  ํ‘œํ˜„์‹์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ ์˜ˆ์—์„œ๋Š” ๋ณ€์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ์„ ์–ธํ•˜๊ณ  ํ•ด๋‹น ๋ณ€์ˆ˜๊ฐ€ ์–ด๋–ค ์œ ํ˜•์ธ์ง€ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งˆ๋ฒ•์˜ ์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋ณ€์ˆ˜์— ์•„์ง ๋‚ด์šฉ(์˜๋ฏธ)์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ๋“ค์€ ๊ตฌ์ฒดํ™”๋œ ์•„์ด๋””์–ด๊ฐ€ ์•„๋‹Œ ์ˆœ์ˆ˜ํ•œ ํ˜•ํƒœ๋กœ๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์— ๋‚ด์šฉ์„ ์ฑ„์šฐ๋Š” ๊ฒƒ(๊ฐ’ ํ• ๋‹น)์€ ์ดˆ๊ธฐํ™” ์„น์…˜์—์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ด‘๊ณ  ํŠธ๋ฆญ

๋‹น์‹ ์ด ์•Œ์•„์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์ˆจ๊ฒจ์ง„ ๋งˆ์ˆ  ํŠธ๋ฆญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์ ์–ด๋„ ๊ธฐ์–ตํ•˜์„ธ์š”. ํ•˜๋‚˜์˜ ํ‘œํ˜„์‹์—์„œ ๋™์ผํ•œ ์œ ํ˜•์˜ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ:
boolean isPony, isPonyReady;
String ponyName, ponyColor, ponyMood;
int ponyTaleSize, ponyLegSize; ponyManeSize
Pony sweetieBelle, rainbowDash, twilightSparkle;
๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค ๋‚ด ์–ด๋””์—์„œ๋‚˜ ์„ ์–ธ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ํด๋ž˜์Šค ํ‘œํ˜„์‹์€ ์œ„์—์„œ ์•„๋ž˜๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ ํ‘œํ˜„์‹์— ์‚ฌ์šฉ๋˜๊ธฐ ์ „์— ์„ ์–ธ๋ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„์™€ ๊ฐ™์€ ์ค‘์š”ํ•œ ๋งˆ๋ฒ•์— ๋Œ€ํ•ด์„œ๋„ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ”์œ„๋Š” ์„ ์–ธ๋œ ๋ณ€์ˆ˜์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค ๋ถ€๋ถ„์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ณ„๋„์˜ ์ฃผ์ œ์ด์ง€๋งŒ ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ๋‘ ๊ฐ€์ง€ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ, ๋ฃจํ”„ ๋˜๋Š” ์ฝ”๋“œ ๋ธ”๋ก ๋‚ด๋ถ€๊ฐ€ ์•„๋‹Œ ํด๋ž˜์Šค์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค ์ „์ฒด์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ, ๋ฃจํ”„ ๋ฐ ์ฝ”๋“œ ๋ธ”๋ก ๋‚ด๋ถ€์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ํ•ด๋‹น ๋ฉ”์„œ๋“œ, ๋ฃจํ”„ ๋ฐ ์ฝ”๋“œ ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, ๋…น์ƒ‰ ๊ฐœ๊ตฌ๋ฆฌ๋‹˜. ์ถ”์‹  (๊ณ„์†๋ฉ๋‹ˆ๋‹ค)
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION