CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์‹œ์ž‘ ์œ„์น˜
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์‹œ์ž‘ ์œ„์น˜

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
Java๋Š” ์ธ๋”” ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ํšŒ์‚ฌ์™€ ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„ ์ œ์ž‘์— ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ธ์–ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋‹ค์žฌ๋‹ค๋Šฅํ•˜๊ณ  ํ’๋ถ€ํ•œ ์˜คํ”ˆ ์†Œ์Šค ์ž๋ฃŒ ๋ชจ์Œ์„ ๊ฐ์•ˆํ•  ๋•Œ ๊ทธ๋ฆฌ ๋†€๋ผ์šด ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์„ธ๊ณ„ ์ตœ๊ณ ์˜ ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„ ์ค‘ ๋‹ค์ˆ˜๊ฐ€ Java๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Minecraft, Mission Impossible III ๋ฐ Asphalt 6๋Š” ์•„๋งˆ๋„ ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ์นœ์ˆ™ํ•œ ๋ช‡ ๊ฐ€์ง€ ์œ ๋ช…ํ•œ ์ด๋ฆ„์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. Java ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ณต๋ถ€ํ•ด์•ผ ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ด์œ ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ๊ณ„์† ์ฝ์œผ์‹ญ์‹œ์˜ค.

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋ชจ๋“  ๊ฒƒ

Java๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๋ณด์ž๋„ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ณ  ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๊ฐ„์— ์‰ฝ๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. C++๊ณผ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋น„ํ•ด Java๋Š” ์ž‘์„ฑ, ๋””๋ฒ„๊ทธ, ํ•™์Šต ๋ฐ ์ปดํŒŒ์ผ์ด ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‚ดํŽด๋ณด๊ณ  ์žˆ๋‹ค๋ฉด ๋จผ์ € ์ด ์–ธ์–ด๋กœ ์ฝ”๋”ฉํ•˜๋Š” ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์—๊ฒŒ ์—ด๋ฆด ๋‹ค์–‘ํ•œ ์ง์—… ๊ธฐํšŒ๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ๋ถ„์•ผ์—์„œ ์ผ์ž๋ฆฌ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ฉด ๋จธ๋ฆฌ๋ฅผ ์ˆ™์ด๊ณ  ์–ธ์–ด๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์›Œ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Java ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ๊ธ‰์—ฌ: ๊ธ‰์—ฌ์— ๊ด€ํ•ด์„œ๋Š” ์ง์œ„๊ฐ€ ์ค‘์š”ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ ˆ๋ฒจ(์ฃผ๋‹ˆ์–ด, ์ค‘๊ธ‰, ์‹œ๋‹ˆ์–ด)์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ธ€๋ž˜์Šค๋„์–ด ์— ๋”ฐ๋ฅด๋ฉด, ๊ฒฝํ—˜์ด ์ „ํ˜€ ์—†๋Š”(๋˜๋Š” ์ด์— ๊ฐ€๊นŒ์šด) ์ดˆ๊ธ‰ ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋กœ์„œ ์ดˆ๊ธ‰ ์ง์ฑ…์„ ์ฐพ๊ณ  ์žˆ๋‹ค๋ฉด ์—ฐ๊ฐ„ ์•ฝ $62,000๋ฅผ ๋ฒŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝํ—˜์ด ๋งŽ์„์ˆ˜๋ก ์ง์œ„๊ฐ€ ๋†’์•„์ง€๋ฏ€๋กœ ๊ธ‰์—ฌ๊ฐ€ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž์˜ ํ‰๊ท  ๊ธ‰์—ฌ๋Š” $79,000์ด์ง€๋งŒ ์—ฐ๊ฐ„ $127,000๊นŒ์ง€ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ๊ฒŒ์ž„ ๊ฐœ๋ฐœ: ์–ด๋””์—์„œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ์„œ Java๋Š” ๋ฐฐ์šฐ๊ธฐ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Java๋กœ ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฒฝํ—˜์ด ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ž˜ ๊ตฌ์กฐํ™”๋˜๊ณ  ๋…ผ๋ฆฌ์ ์ด๋ฏ€๋กœ ์ดˆ๋ณด์ž์—๊ฒŒ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹น์‹ ์˜ ๊ธธ์„ ๊ฐ€๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์ธํ˜• ํ•™์Šต ๊ณ„ํš์„ ์œ„ํ•œ Java ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ๊ฐœ๋žต์ ์œผ๋กœ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์‹œ์ž‘ํ•  ์œ„์น˜ - 2

๋จผ์ € Java Core๋ฅผ ๋ฐฐ์›๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ Java ๊ตฌ๋ฌธ: ๊ตฌ์„ฑ์š”์†Œ(๊ฐ์ฒด, ๋ฉ”์„œ๋“œ, ํด๋ž˜์Šค), ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์œ ํ˜•, ๋ฌธ์ž์—ด, ๋ฃจํ”„, ๋ถ„๊ธฐ ๋ฐ ๋ฐฐ์—ด

  • OOP ์›์น™์„ ๋ฐฐ์šฐ์‹ญ์‹œ์˜ค. ๊ฐ์ฒด, ์ถ”์ƒํ™”, ์ƒ์†, ์บก์Šํ™”, ๋‹คํ˜•์„ฑ์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค, ๋‚ด๋ถ€ ํด๋ž˜์Šค.

  • ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ: Java ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ์ฒด ๊ทธ๋ฃน์„ ๋‹จ์ผ ๋‹จ์œ„๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

    Java Collections ์ธํ„ฐํŽ˜์ด์Šค์™€ Map ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„(๋ชฉ๋ก, ์ง€๋„, ์„ธํŠธ)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • Java Exception ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฒ„๊ทธ ์žก๊ธฐ๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์˜ˆ์™ธ ํด๋ž˜์Šค๋Š” java.lang.Exception ํด๋ž˜์Šค์˜ ํ•˜์œ„ ์œ ํ˜•์ž…๋‹ˆ๋‹ค.

  • ์ž…๋ ฅ/์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ. Java๋Š” ์ŠคํŠธ๋ฆผ์„ ํ†ตํ•ด ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ์€ ๋ฐ์ดํ„ฐ์˜ ์—ฐ์†์ ์ธ ํ๋ฆ„์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Java Multithreading์€ ์ •๋ง ์–ด๋ ค์šด ์ฃผ์ œ์ž…๋‹ˆ๋‹ค. Thread API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์ž‘์—…๋„ ์ดˆ๋ณด์ž์—๊ฒŒ๋Š” ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์ค‘์š”ํ•˜๋ฉฐ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๋ฉด ๊ทธ๊ฒƒ์„ ์ข‹์•„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ๋ฐ ๊ธฐํƒ€ ์ด๋ก  ๊ธฐ์ดˆ.

Android ๊ฐœ๋ฐœ์˜ ๊ธฐ๋ณธ ์‚ฌํ•ญ ์•Œ์•„๋ณด๊ธฐ

Android์˜ ๊ณต์‹ ์›น์‚ฌ์ดํŠธ๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ›Œ๋ฅญํ•œ ํ•™์Šต ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ฒซ ๋ฒˆ์งธ Android ์•ฑ์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ์•ˆ๋‚ดํ•˜๋Š” ์ž์Šต์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . Java Core๋ฅผ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด GUI(๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค), ๊ฒŒ์ž„ ๊ทธ๋ž˜ํ”ฝ ๋ฐ ๋ฌผ๋ฆฌ, ์‚ฌ์šด๋“œ์™€ ๊ฐ™์€ ๊ฒŒ์ž„ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฉ˜ํ† ์™€ ํ•จ๊ป˜ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•œ๋‹ค๋ฉด CodeGym์—์„œ ์ œ๊ณตํ•˜๋Š” ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Android ์•ฑ ๊ฐœ๋ฐœ ๊ณผ์ •์— ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ œ๋กœ ๋ ˆ๋ฒจ์—์„œ ํ•™์Šต์„ ์‹œ์ž‘ํ•˜๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ๋งˆ์Šคํ„ฐํ•œ ๋‹ค์Œ Android ๊ฐœ๋ฐœ ํ•™์Šต์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์ผ๋ถ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ Android ํ•™์Šต์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณผ์ •์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • ์ฃผ 2ํšŒ ๋ฉ˜ํ† ์™€ ํ•จ๊ป˜ํ•˜๋Š” ์˜จ๋ผ์ธ ๊ฐ•์˜;
  • Slack ์ฑ„ํŒ…์—์„œ CodeGym๊ณผ ๋ฉ˜ํ† ์˜ ์ง€์›
  • 4๊ฐœ์˜ ๋ณธ๊ฒฉ์ ์ธ Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๋ผ์ด๋ธŒ ๋””๋ฒ„๊น… ์„ธ์…˜;
  • ํฐ ์ตœ์ข… ํ”„๋กœ์ ํŠธ;
  • ๊ณผ์ • ์ˆ˜๋ฃŒ์ฆ.

libGDX ๋ฐฐ์šฐ๊ธฐ

libGDX๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Android, iOS, Windows, Linux, macOS ๋ฐ Web๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์— ๋Œ€ํ•ด ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Java๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๊ทธ๋ฆฌ๊ธฐ API, ์‚ฌ์šด๋“œ, ์ž์‚ฐ ์ฒ˜๋ฆฌ, ์ €์žฅ ๋“ฑ์„ ํฌํ•จํ•˜์—ฌ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์„ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋งŽ์€ ํ›Œ๋ฅญํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ๋ฌธ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . libGDX๋Š” OpenGL ๊ทธ๋ž˜ํ”ฝ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๊ณ  2D ๋ฐ 3D ๊ฒŒ์ž„์„ ๋งŒ๋“œ๋Š” ๋ฐ ํ•„์š”ํ•œ ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ LWJGL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. LWJGL์€ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋ณ‘๋ ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ‘œ์ค€์ธ OpenCL๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์Œ์•… ๋ฐ ์Œํ–ฅ ํšจ๊ณผ OpenAL์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ API๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋˜ ๋ญ?

์ž์‹๊ณผ ๊นƒํ—ˆ๋ธŒ

Git์€ ์ปดํ“จํ„ฐ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ•ด๋‹น ํŒŒ์ผ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์กฐ์ •ํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์ „๋ฌธ๊ฐ€๋Š” IT ํ”„๋กœ์ ํŠธ ๋ฐ ๊ณต๋™ ๊ฐœ๋ฐœ์„ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์›น ์„œ๋น„์Šค์ธ GitHub๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ธ๋”” ๊ฐœ๋ฐœ์ž๋Š” ๋ชจ๋“  ๊ทธ๋ž˜ํ”ฝ, ๋””์ž์ธ ๋ ˆ๋ฒจ ๋งต, ํ…์Šค์ฒ˜, ์บ๋ฆญํ„ฐ์˜ ์Šคํ”„๋ผ์ดํŠธ, ํ…์Šค์ฒ˜ ์•„ํ‹€๋ผ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ชจ๋“  ๊ฒŒ์ž„์„ ์ œ์ž‘ํ•˜์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ๋‹ค์–‘ํ•œ ๋ฆฌ์†Œ์Šค์˜ ๋ฌด๋ฃŒ ๊ทธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Android ์•ฑ ๊ฐœ๋ฐœ ์š”๋ น์„ ํ„ฐ๋“ํ•˜๋ฉด ๊ฒŒ์ž„ ์ œ์ž‘ ์—ฐ์Šต์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์€ ๊ฐ„๋‹จํ•œ ๊ฒŒ์ž„์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„œ๋ฉด ๋ฐ ๋น„๋””์˜ค ์ž์Šต์„œ๋กœ ๊ฐ€๋“ ์ฐจ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฐ์›€์„ ๋ฉˆ์ถ”์ง€ ๋ง๊ณ  ๊ณ„์† ์—ฐ์Šตํ•˜์„ธ์š”

๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฐ ์žˆ์–ด ๋ํŒ์™•์€ ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์ด ๋ฐœ์ „ํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€์‹ฌ์„ ์ „ํ™˜ํ•˜๊ณ , ๋” ๊นŒ๋‹ค๋กœ์›Œ์ง€๋ฏ€๋กœ ์ง€์†์ ์œผ๋กœ ๊ธฐ์ˆ ์„ ๊ฐœ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์ œ ์กฐ์‚ฌ์™€ ์‹ค์Šต ์‚ฌ์ด์— ์‹œ๊ฐ„์„ ๋‚˜๋ˆ„๊ณ  ์‹ค์Šต์— ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ํ• ์• ํ•˜์‹ญ์‹œ์˜ค. ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์‹œ์ž‘ํ•  ์œ„์น˜ - 3

Java๋ฅผ ๊ณต๋ถ€ํ•  ๋•Œ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•  ์‚ฌํ•ญ

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

์—ฐ์Šต์ด ์™„๋ฒฝ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค

Java์˜ ์ธ๊ธฐ๋Š” ๋˜ํ•œ ์—ฐ์Šต ๊ธฐํšŒ๊ฐ€ ๋ถ€์กฑํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • CodeGym ์œผ๋กœ ๋†€๋ฉด์„œ ์—ฐ์Šต : ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฏธ๋‹ˆ ๊ฒŒ์ž„ ๊ณผ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด Java ์ด๋ก ์— ๋Œ€ํ•œ ์ง€์‹์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋งŽ์€ ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • w3Resouce ์—์„œ ์ž‘์€ ์ž‘์—…๊ณผ ์—ฐ์Šต์„ ํ™œ์šฉํ•˜์‹ญ์‹œ์˜ค . ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ด๋ก ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํ™œ์šฉํ•œ ์‹ค์Šต์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋”ฉ ์—ฐ์Šต์˜ ์˜ˆ

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

์›ํ•˜๋Š” ๋Œ€๋กœ ๋ชจ๋“  ์˜จ๋ผ์ธ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ

Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋…ํ•™ํ•  ๋•Œ ๋„์›€์ด ๋˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์‚ดํŽด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Java๋Š” ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋ฏ€๋กœ ๋งŽ์€ ํฌ๋Ÿผ, ๋น„๋””์˜ค ๊ณผ์ • ๋ฐ ์˜จ๋ผ์ธ ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๊ทธ๋“ค์„ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค! Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํฌ๋Ÿผ์€ ์–ธ์–ด์— ๋ชฐ์ž…ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Stack Overflow ๋ฐ Oracle์˜ Java ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ๊ท€ํ•˜์™€ ๋™์ผํ•œ ๋ฌธ์ œ๋กœ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค๊ณผ Java ํ•™์Šต ๊ฒฝํ—˜์„ ๋…ผ์˜ํ•˜๊ณ  ๊ท€ํ•˜๋ณด๋‹ค ๋” ๋งŽ์€ ๊ฒฝํ—˜์„ ๊ฐ€์ง„ ์ „๋ฌธ๊ฐ€๋กœ๋ถ€ํ„ฐ ์กฐ์–ธ์„ ์–ป๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜จ๋ผ์ธ Java ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. . YouTube์—์„œ ๋™์˜์ƒ ๊ณผ์ •๊ณผ ์ž์Šต์„œ๋ฅผ ์ฐพ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๊ทธ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.
  • Let's Build a Game in Java โ€” RealTutsGML์˜ ์ž์Šต์„œ ์‹œ๋ฆฌ์ฆˆ; ์ฑ„๋„์—๋Š” ์ข€๋น„ ๊ฒŒ์ž„ ๊ตฌ์ถ•๊ณผ ๊ฐ™์€ ์ฃผ์ œ๋ณ„ ํŠœํ† ๋ฆฌ์–ผ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Java ๊ฒŒ์ž„ ๊ฐœ๋ฐœ โ€” DevFactor๊ฐ€ ์ œ๊ณตํ•˜๋Š” Java ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์˜ ๊ธฐ์ดˆ์— ๋Œ€ํ•œ ์ž์Šต์„œ์ž…๋‹ˆ๋‹ค.

  • ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ Java ์ž์Šต์„œ โ€” ์–ธ์–ด์˜ ์—ญ์‚ฌ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ Java ๊ฐœ๋ฐœ ํ‚คํŠธ๋ฅผ ์„ค์น˜ํ•˜๋Š” ProgrammingKnowledge์˜ ์ž์„ธํ•œ ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

๊ทธ ์ฑ…์„ ์น˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋ฐฐ์šธ ๋•Œ ์—ฐ์Šต์ด ํ•„์š”ํ•œ ๋งŒํผ Java ์ด๋ก ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ค‘์š”ํ•˜๋ฉฐ ์ฑ…์€ ๊ทธ ํ›Œ๋ฅญํ•œ ์†Œ์Šค์ž…๋‹ˆ๋‹ค. ์ „๋ฌธ๊ฐ€๋กœ๋ถ€ํ„ฐ ์ง์ ‘ ํŒ, ์š”๋ น ๋ฐ Java ์ฝ”๋”ฉ ํ”„๋กœ์„ธ์Šค๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ „์ž์ฑ… ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • Java Programming Dummies by Wayne Holder
    ์˜ค๋ž˜๋œ ์ฑ…์ด๋ผ๊ณ  ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. 1984๋…„์— ์ถœํŒ๋˜์—ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ Java์˜ ๊ธฐ์ดˆ๋ฅผ ๋ฐฐ์šฐ๋Š” ์ดˆ๋ณด์ž์—๊ฒŒ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. Java ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒŒ์ž„์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋‹จ๊ณ„๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํ…์Šค์ฒ˜ ๋งคํ•‘ ๋ฐ ๊ณ ๊ธ‰ ์ด๋ฏธ์ง• ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • Robert Sedgewick ๋ฐ Kevin Wayne ์˜ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์†Œ๊ฐœ
    ์ด ์ฑ…์€ ํ•™์ƒ๋“ค์—๊ฒŒ Java์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ์ต์ˆ™ํ•ด์ง€๋Š” ๋ฐ ํ•„์š”ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ์ค‘์ ์„ ๋‘๊ณ  ์˜ˆ์ œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์ƒ๋“ค์ด ์ •๋ณด๋ฅผ ๋” ์‰ฝ๊ฒŒ ํก์ˆ˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ๋„๋กœ ๊ธฐ์ˆ ์ ์ธ ์ฃผ์ œ๋ฅผ ์ƒ์ƒํ•˜๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

  • Andrew Davison ์˜ Killer Game Programming in Java
    Killer Game Programming์€ Java์˜ ๊ทธ๋ž˜ํ”ฝ๊ณผ ๊ธฐ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์ด ํฌ๊ด„์ ์ธ ๊ฐ€์ด๋“œ๋Š” ๋ฉ‹์ง„ ์•ก์…˜์œผ๋กœ ๊ฐ€๋“ ์ฐฌ ๊ฒŒ์ž„์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ์ˆ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ ํ”„๋ž™ํƒˆ์ด ํ•„์š”ํ•œ ๊ฒŒ์ž„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ 2D API ๋ฐ 3D ์Šคํ”„๋ผ์ดํŠธ๋„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ

์ผ๋‹จ ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ๋ฐฐ์šฐ๋ฉด ์ดˆ๋ณด์ž๊ฐ€ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์— Java๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฝ๊ฐ„์˜ ํ—Œ์‹ , ๋ˆ๊ธฐ ๋ฐ ์—ฐ์Šต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต ๊ณ„ํš์„ ์„ธ์šฐ๊ณ , ์˜จ๋ผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ๋กœ ์ด๋™ํ•˜๊ณ , ์‹ค์šฉ์ ์ธ ๊ณผ์ •์„ ์‚ฌ์šฉํ•˜๊ณ , ์ด๋ก ์„ ๋ฐฐ์šฐ๊ณ , ํ•™์Šต ๊ณผ์ •์— ๋„์›€์ด ๋˜๋Š” ๋น„๋””์˜ค ์ž์Šต์„œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์‹ญ์‹œ์˜ค. Java์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ณ  ๋‚˜๋ฉด ์ฃผ๋‹ˆ์–ด ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž ์œ„์น˜ ๋ฐ ์ธํ„ด์‹ญ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ๋‹จ ์ผ์ž๋ฆฌ๋ฅผ ์ฐพ์œผ๋ฉด ํ•ญ์ƒ ๊ฒŒ์ž„์—์„œ ์ตœ๊ณ ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ์ตœ์‹  ํŠธ๋ Œ๋“œ๋ฅผ ์ฃผ์‹œํ•˜์‹ญ์‹œ์˜ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION