JavaRush /Java Blog /Random-KO /์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #95. Java์˜ ๋‹ค์ค‘ ์ƒ์† ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #95. Java์˜ ๋‹ค์ค‘ ์ƒ์† ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

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

์ƒ์† ์šฉ์–ด

๋•Œ๋กœ๋Š” ์„ฑ๊ณต์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜๋‚˜ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ์‚ฌ๊ฐ€ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์•ˆ์ „ํ•˜๊ณ  ์Šค๋งˆํŠธํ•œ ์ฝ”๋”ฉ์˜ ํ•„์ˆ˜์ ์ธ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋Š” Java์˜ ๋‹ค์ค‘ ์ƒ์†(๋˜๋Š” ์ƒ์†์˜ ๋ถ€์กฑ)๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #95.  Java์˜ ๋‹ค์ค‘ ์ƒ์† ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• - 2Java์˜ ์ƒ์†์„ ์™„์ „ํžˆ ์ดํ•ดํ•˜๋ ค๋ฉด ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์˜ ๊ธฐ๋ณธ ์ƒ์† ์šฉ์–ด๋ฅผ ์ž˜ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ธฐ๋ณธ ํŒจํ„ด ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด ๊ทธ๋ฃน์˜ ๊ณตํ†ต ์†์„ฑ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒ์œ„ ํด๋ž˜์Šค : ๊ธฐ๋ณธ ํด๋ž˜์Šค ๋˜๋Š” ์Šˆํผ ํด๋ž˜์Šค๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์œ„ ํด๋ž˜์Šค๋Š” ํ•˜์œ„ ํด๋ž˜์Šค์— ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ƒ์œ„ ํด๋ž˜์Šค์˜ ์ •์˜์™€ ํ•จ์ˆ˜๋Š” ํ•˜์œ„ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์žฌ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ํ•˜์œ„ ํด๋ž˜์Šค : ๋ณด๋‹ค ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜์œ„ ํด๋ž˜์Šค๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ํ™•์žฅ ๋˜๋Š” ํŒŒ์ƒ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.
  • ์ƒ์† : ๋ถ€๋ชจ ํด๋ž˜์Šค์™€ ์ž์‹ ํด๋ž˜์Šค ๊ฐ„์˜ ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค.

OOP ์ƒ์† ์œ ํ˜•

Java, C++, JavaScript, Python, PHP, Ruby ๋ฐ Perl์„ ํฌํ•จํ•˜์—ฌ ์˜ค๋Š˜๋‚  ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์†์€ ์ด๋Ÿฌํ•œ OOP ์–ธ์–ด์—์„œ ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋…์ด์ง€๋งŒ ๊ฐ ์–ธ์–ด์— ๋ชจ๋“  ์œ ํ˜•์˜ ์ƒ์†์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ƒ์† ์œ ํ˜•๊ณผ ์‚ฌ์šฉ ์ค‘์ธ ํŠน์ • ์–ธ์–ด์˜ ์ƒ์† ์ œํ•œ ์‚ฌํ•ญ์„ ์•„๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์†์— ๋Œ€ํ•ด ๋” ๋งŽ์ด ์•Œ์ˆ˜๋ก ๋” ํšจ๊ณผ์ ์ธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Java๊ฐ€ ์ง€์›ํ•˜๋Š” ์ƒ์† ์œ ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • ๋‹จ์ผ ์ˆ˜์ค€ ์ƒ์† : ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ๋‹จ์ผ ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ์ƒ์†ํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.
  • ๋‹ค์ค‘ ์ˆ˜์ค€ ์ƒ์† : ๋‹จ์ผ ์ˆ˜์ค€ ์ƒ์†์˜ ๋‹ค์ค‘ ์ˆ˜์ค€ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์ˆ˜์ค€ ์ƒ์†์—์„œ๋Š” ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํ•˜์œ„ ํด๋ž˜์Šค์˜ ์ƒ์œ„ ํด๋ž˜์Šค ์—ญํ• ์„ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ˆ˜์ค€ ๊ฐ„์˜ ๊ด€๊ณ„๋Š” ์„ ํ˜•์ž…๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์ƒ์†๋ณด๋‹ค ๋” ๋†’์€ ๋ถ„๊ธฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰ ํ•˜์œ„ ํด๋ž˜์Šค์—๋Š” ์œ„์˜ ๋ชจ๋“  ์ˆ˜์ค€์˜ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ณ„์ธต์  ์ƒ์† : ๋‹ค์ค‘ ์ƒ์†์˜ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค. ๊ณ„์ธต์  ์ƒ์†์—์„œ๋Š” ๋‹จ์ผ ์ƒ์œ„ ํด๋ž˜์Šค์— ๋‘˜ ์ด์ƒ์˜ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์œ„์— ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š” ๋Œ€์‹  ์•„๋ž˜์— ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ƒ์† : ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ƒ์†์€ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ์ƒ์†์„ ์กฐํ•ฉํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์œ„์— ๋‚˜์—ด๋œ ์ƒ์† ์œ ํ˜• ์™ธ์—๋„ Java๊ฐ€ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์ค‘ ์ƒ์† : ๋‹ค์ค‘ ์ƒ์†์—์„œ๋Š” ์ž์‹ ํด๋ž˜์Šค์— ๋ถ€๋ชจ ํด๋ž˜์Šค๊ฐ€ ๋‘ ๊ฐœ ์ด์ƒ ์žˆ์Šต๋‹ˆ๋‹ค. Java์™€ JavaScript๋Š” ๋‹ค์ค‘ ์ƒ์†์„ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ C++์™€ ๊ฐ™์€ OOP ์–ธ์–ด๋Š” ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์ค‘ ๊ฒฝ๋กœ ์ƒ์† : ๋‹ค์ค‘, ๋‹ค์ค‘ ๋ ˆ๋ฒจ ๋ฐ ๊ณ„์ธต์  ์ƒ์†์˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์ธ ๋‹ค์ค‘ ๊ฒฝ๋กœ ์ƒ์†์—์„œ ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ์ƒ์œ„ ํด๋ž˜์Šค์™€ ์ƒ์œ„ ํด๋ž˜์Šค์˜ ์—ฌ๋Ÿฌ ํ•˜์œ„ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ํŠน์„ฑ๊ณผ ๊ธฐ๋Šฅ์„ ์ƒ์†๋ฐ›์Šต๋‹ˆ๋‹ค. ๋‹ค์ค‘ ๊ฒฝ๋กœ ์ƒ์†์€ ๋‹ค์ค‘ ์ƒ์†์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Java์—์„œ๋Š” ํ•ด๋‹น ์‚ฌ์šฉ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Java๊ฐ€ ๋‹ค์ค‘ ์ƒ์†์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์ด์œ 

๋‹ค์ค‘ ์ƒ์†์˜ ์ฃผ์š” ๋ฌธ์ œ์ ์€ ํ•˜์œ„ ํด๋ž˜์Šค์— ๋ชจํ˜ธ์„ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 1995๋…„ ๋ฐฑ์„œ์—์„œ ์ˆ˜์„ Java ๋””์ž์ด๋„ˆ์ธ James Gosling์€ ๋‹ค์ค‘ ์ƒ์† ๋ฌธ์ œ๊ฐ€ Java๊ฐ€ ํƒ„์ƒํ•œ ์ด์œ  ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ๋ฐํ˜”์Šต๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์ƒ์†์— ๋‚ด์žฌ๋œ ๋ณต์žก์„ฑ์€ ๋‹ค์ด์•„๋ชฌ๋“œ ๋ฌธ์ œ์—์„œ ๊ฐ€์žฅ ๋ถ„๋ช…ํ•˜๊ฒŒ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. ๋‹ค์ด์•„๋ชฌ๋“œ ๋ฌธ์ œ์—์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค A์—๋Š” ๋‘ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ž์‹ ํด๋ž˜์Šค B์™€ C๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ž์‹ ํด๋ž˜์Šค B์™€ C๋Š” ํด๋ž˜์Šค A๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #95.  Java์˜ ๋‹ค์ค‘ ์ƒ์† ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• - 3์ด์ œ ํด๋ž˜์Šค B์™€ ํด๋ž˜์Šค C๋ฅผ ๋ชจ๋‘ ํ™•์žฅํ•˜๋Š” ์ƒˆ๋กœ์šด ์ž์‹ ํด๋ž˜์Šค D๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์ƒ์†(D๋Š” B์™€ C๋ฅผ ํ™•์žฅ), ๊ณ„์ธต์  ์ƒ์†(B์™€ C๋Š” ํ™•์žฅ) A) ๋ฐ ๋‹ค์ค‘ ์ˆ˜์ค€ ์ƒ์†(D๋Š” A, B ๋ฐ C๋ฅผ ํ™•์žฅํ•จ). ๋‹ค์ด์•„๋ชฌ๋“œ ๋ฌธ์ œ์—์„œ ํ•˜์œ„ ํด๋ž˜์Šค B์™€ C๋Š” ์ƒ์œ„ ํด๋ž˜์Šค A์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค. B์™€ C๋Š” ๋ชจ๋‘ ์ƒ์†๋œ ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ B์™€ C์˜ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์€ ์„œ๋กœ ๋ชจ์ˆœ๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์ž์‹ ํด๋ž˜์Šค D๋Š” ์—ฌ๋Ÿฌ ๋ถ€๋ชจ B์™€ C๋กœ๋ถ€ํ„ฐ ๋‘ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ด๊ณ  ์ถฉ๋Œํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ƒ์†๋ฐ›์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค D์˜ ์–ด๋–ค ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ชจํ˜ธ์„ฑ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ OOP ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๋‹ค์ค‘ ์ƒ์†์˜ ๋ชจํ˜ธํ•จ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

Java์˜ ๋‹ค์ค‘ ์ƒ์† ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

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

๊ฒฐ๋ก 

ํšจ๊ณผ์ ์ธ Java ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ์ƒ์†์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ƒ์†์˜ ํ•œ๊ณ„์™€ ์ „ํ†ต์ ์ธ ๋‹ค์ค‘ ์ƒ์† ๋ฌธ์ œ์— ๋Œ€ํ•œ Java์˜ ๋‚ด์žฅ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•„๋Š” ๊ฒƒ๋„ ๋˜‘๊ฐ™์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Java์—์„œ ๋‹ค์ค‘ ์ƒ์†์˜ ํšจ๊ณผ๋ฅผ ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๋ฉด ์ƒ์‚ฐ์„ฑ๊ณผ ์ฑ„์šฉ ๊ธฐํšŒ๊ฐ€ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION