JavaRush /Java Blog /Random-KO /ํ˜„์ƒ์œผ๋กœ์„œ์˜ ์ƒ์†
articles
๋ ˆ๋ฒจ 15

ํ˜„์ƒ์œผ๋กœ์„œ์˜ ์ƒ์†

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์‚ฌ์‹ค์„ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด ์ €๋Š” ์ด ๊ธ€์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ธฐํšํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‚˜๋Š” ์—ฌ๊ธฐ์„œ ๋…ผ์˜ํ•˜๊ณ  ์‹ถ์€ ๋ฌธ์ œ๋ฅผ ์–ธ๊ธ‰ํ•  ๊ฐ€์น˜์กฐ์ฐจ ์—†๋Š” ์‚ฌ์†Œํ•œ ๋ฌธ์ œ๋กœ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์‚ฌ์ดํŠธ์— ๊ธ€์„ ์“ฐ๋Š” ๊ณผ์ •์—์„œ ์ €๋Š” ํ•œ ํฌ๋Ÿผ์—์„œ ๋‹ค์ค‘ ์ƒ์†์— ๋Œ€ํ•œ ๋…ผ์˜๋ฅผ ์ œ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ, ๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ƒ์†์— ๋Œ€ํ•ด ๋งค์šฐ ๋ง‰์—ฐํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ทธ๋Š” ๋งŽ์€ ์‹ค์ˆ˜๋ฅผ ์ €์ง€๋ฆ…๋‹ˆ๋‹ค. ์ƒ์†์€ OOP์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ด๊ธฐ ๋•Œ๋ฌธ์—(๊ฐ€์žฅ ์ค‘์š”ํ•˜์ง€๋Š” ์•Š๋”๋ผ๋„!) ์ด ํ˜„์ƒ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ๊ธฐ์‚ฌ๋ฅผ ์“ฐ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. * * * ๋จผ์ € ๊ฐ์ฒด์™€ ํด๋ž˜์Šค๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๊ฐœ๋…์„ ๊ตฌ๋ณ„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ๋…์€ ๋Š์ž„์—†์ด ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œ์ง‘๋‹ˆ๋‹ค. ํ•œํŽธ, ์ด๋“ค์€ OOP์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ œ ์ƒ๊ฐ์—๋Š” ๊ทธ๋“ค ์‚ฌ์ด์˜ ์ฐจ์ด์ ์„ ์•„๋Š” ๊ฒƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, ๋ฌผ์ฒด. ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ทธ๊ฒƒ์€ ๋ฌด์—‡์ด๋“  ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ํ๋ธŒ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋ฌด, ํŒŒ๋ž€์ƒ‰. ๊ฐ€์žฅ์ž๋ฆฌ์˜ ๊ธธ์ด๋Š” 5cm์ด๋ฉฐ ์ด๊ฒƒ์€ ๋ฌผ์ฒด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”ผ๋ผ๋ฏธ๋“œ๋„ ์žˆ์–ด์š”. ํ”Œ๋ผ์Šคํ‹ฑ, ๋นจ๊ฐ„์ƒ‰. ๊ฐˆ๋น„๋ผˆ 10cm. ์ด๊ฒƒ๋„ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ๊ณตํ†ต์ ์ด ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‹ค๋ฅธ ํฌ๊ธฐ. ๋‹ค๋ฅธ ๋ชจ์–‘. ๋‹ค๋ฅธ ์žฌ๋ฃŒ. ๊ทธ๋Ÿฌ๋‚˜ ๊ณตํ†ต์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„ , ์ •์œก๋ฉด์ฒด์™€ ํ”ผ๋ผ๋ฏธ๋“œ๋Š” ๋ชจ๋‘ ์ •๋‹ค๋ฉด์ฒด์ด๋‹ค. ์ €๊ฒƒ๋“ค. ๊ผญ์ง€์  ์ˆ˜์™€ ๋ฉด ์ˆ˜์˜ ํ•ฉ์ด ๋ชจ์„œ๋ฆฌ ์ˆ˜๋ณด๋‹ค 2๊ฐœ ๋” ๋งŽ์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์•„๊ฐ€. ๋‘ ๋ชจ์–‘ ๋ชจ๋‘ ๋ฉด, ๋ชจ์„œ๋ฆฌ ๋ฐ ๊ผญ์ง€์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ์ˆ˜์น˜ ๋ชจ๋‘ ๊ฐˆ๋น„๋ผˆ ํฌ๊ธฐ์™€ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ชจ์–‘ ๋ชจ๋‘ ํšŒ์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ทธ๋ฆผ ๋ชจ๋‘ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๋‘ ์†์„ฑ์€ ์ด๋ฏธ ๋™์ž‘์ž…๋‹ˆ๋‹ค. ๋“ฑ๋“ฑ. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ค์Šต์„ ํ†ตํ•ด ์ด์ข… ๊ฐœ์ฒด๋ณด๋‹ค ๋™์ข… ๊ฐœ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฝ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ธ๋ฌผ๋“ค ์‚ฌ์ด์—๋Š” ์—ฌ์ „ํžˆ ๊ณตํ†ต์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ป๊ฒŒ๋“  ์ด ๊ณตํ†ต์ ์„ ๋ถ€๊ฐ์‹œํ‚ค๊ณ  ์‹ถ์€ ์š•๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํด๋ž˜์Šค ๊ฐœ๋…์ด ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ •์˜.
ํด๋ž˜์Šค๋Š” ๊ฐœ์ฒด ๊ทธ๋ฃน์˜ ๊ณตํ†ต ์†์„ฑ์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์†์„ฑ์€ ๊ฐœ์ฒด์˜ ํŠน์„ฑ(ํฌ๊ธฐ, ๋ฌด๊ฒŒ, ์ƒ‰์ƒ ๋“ฑ)์ผ ์ˆ˜๋„ ์žˆ๊ณ  ๋™์ž‘, ์—ญํ•  ๋“ฑ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๋…ผํ‰. "all"(๋ชจ๋“  ์†์„ฑ์— ๋Œ€ํ•œ ์„ค๋ช…)์ด๋ผ๋Š” ๋‹จ์–ด๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ํด๋ž˜์Šค์— ์†ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ˜„์ƒ์œผ๋กœ์„œ์˜ ์ƒ์† - 1 ๊ธฐํ•˜ํ•™์  ๋ชจ์–‘์„ ๊ธฐ๋ณธ์œผ๋กœ ๋™์ผํ•œ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์„ค๋ช…์€ ์ •๋‹ค๋ฉด์ฒด ์ž…๋‹ˆ๋‹ค . ๋ชจ์„œ๋ฆฌ ํฌ๊ธฐ, ๋ฉด ๋ฐ ๊ผญ์ง€์  ์ˆ˜์— ๊ด€๊ณ„์—†์ด. ์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ์œ ์ผํ•œ ๊ฒƒ์€ ์ด ๋„ํ˜•์— ๊ผญ์ง€์ , ๋ชจ์„œ๋ฆฌ, ๋ฉด์ด ์žˆ๊ณ  ๋ชจ์„œ๋ฆฌ์˜ ๊ธธ์ด๊ฐ€ ๋™์ผํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋” ๋‚˜์•„๊ฐ€. ์„ค๋ช…์„ ์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ด ๋‹ค๋ฉด์ฒด๋ฅผ ๊ทธ๋ฆฌ๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค . ๊ทธ๋ ค์ง„ ์ •๋‹ค๋ฉด์ฒด ์™€ ๊ฐ™์€ ๊ฐœ๋…์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค . ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๋ ค๋ฉด ๋ฌด์—‡์ด ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ํŠน์ • ๊ผญ์ง€์  ์ขŒํ‘œ์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ์ผ๋ฐ˜์ ์ธ ๊ทธ๋ฆฌ๊ธฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋ฌผ์ฒด์˜ ์ƒ‰์ƒ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ œ Cube ๋ฐ Tetrahedron ํด๋ž˜์Šค๋ฅผ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค . ์ด ํด๋ž˜์Šค์— ์†ํ•˜๋Š” ๊ฐ์ฒด๋Š” ํ™•์‹คํžˆ ์ •๋‹ค๋ฉด์ฒด์ž…๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ๊ฐ ์ƒˆ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ๊ผญ์ง€์ , ๋ชจ์„œ๋ฆฌ ๋ฐ ๋ฉด์˜ ์ˆ˜๊ฐ€ ์ด๋ฏธ ์—„๊ฒฉํ•˜๊ฒŒ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ํŠน์ • ๋„ํ˜•์˜ ์œ ํ˜•์„ ์•Œ๋ฉด ๊ทธ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Cube ๋˜๋Š” Tetrahedron ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ๊ทธ๋ ค์ง„ ์ •๋‹ค๋ฉด์ฒด ํด๋ž˜์Šค ์˜ ๊ฐ์ฒด์ด๊ธฐ๋„ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค . ํด๋ž˜์Šค์˜ ๊ณ„์ธต ๊ตฌ์กฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์„ค๋ช…๋ถ€ํ„ฐ ๊ฐ€์žฅ ๊ตฌ์ฒด์ ์ธ ์„ค๋ช…๊นŒ์ง€ ๋‚ด๋ ค๊ฐ‘๋‹ˆ๋‹ค. ๋ชจ๋“  ํด๋ž˜์Šค์˜ ๊ฐœ์ฒด๋Š” ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๋ณด๋‹ค ์ผ๋ฐ˜์ ์ธ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์„ค๋ช…์—๋„ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด ํด๋ž˜์Šค ๊ด€๊ณ„๋ฅผ ์ƒ์† ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค . ๊ฐ ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ์†์„ฑ, ๋ณด๋‹ค ์ผ๋ฐ˜์ ์ธ ์†์„ฑ์„ ์ƒ์†ํ•˜๊ณ  (์•„๋งˆ๋„) ์ด๋Ÿฌํ•œ ์†์„ฑ์— ์ž์‹ ์˜ ์ผ๋ถ€ ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ƒ์œ„ ํด๋ž˜์Šค์˜ ์ผ๋ถ€ ์†์„ฑ์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ๋””์ž์ธ์— ๊ด€ํ•œ Gradi Bucha์˜ ๊ณ ์ „ ์ฑ…์„ ์ธ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ƒ์†์€ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ƒ์œ„ ํด๋ž˜์Šค์—์„œ ์ƒ์†๋˜๋Š” ํด๋ž˜์Šค ๊ฐ„์˜ "is a" ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์‹ค์ œ๋กœ ์œ ์ „์— ๋Œ€ํ•œ ๋ฆฌํŠธ๋จธ์Šค ํ…Œ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค A์™€ B๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ A๊ฐ€ B์˜ ์ข…๋ฅ˜๊ฐ€ "์•„๋‹Œ" ๊ฒฝ์šฐ A๋Š” B์˜ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
๋ฒˆ์—ญํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ƒ์†์€ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ƒ์œ„ ํด๋ž˜์Šค์—์„œ ์ƒ์†๋˜๋Š” ํด๋ž˜์Šค ๊ฐ„์˜ "is" ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด๊ฒƒ์€ ์ƒ์†์„ ์ •์˜ํ•˜๋Š” ํ…Œ์ŠคํŠธ(๋ฌธ์ž ๊ทธ๋Œ€๋กœ ๋ฆฌํŠธ๋จธ์Šค ํ…Œ์ŠคํŠธ, ๋‚ด ๋…ธํŠธ)์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค A์™€ B๊ฐ€ ์žˆ๊ณ  ํด๋ž˜์Šค A๊ฐ€ ํด๋ž˜์Šค B์˜ ๋ณ€ํ˜•์ด "์•„๋‹Œ" ๊ฒฝ์šฐ A๋Š” B์˜ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ์•„๋‹ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๊ธฐ๊นŒ์ง€ ์ฝ์œผ์‹  ๋ถ„๋“ค์€ ์•„๋งˆ๋„ ์–ด๋ฆฌ๋‘ฅ์ ˆํ•˜์—ฌ ๊ด€์ž๋†€์ด๋ฅผ ์†๊ฐ€๋ฝ์œผ๋กœ ๋น™๋น™ ๋Œ๋ฆฌ์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ƒ๊ฐ์€ ์ด๊ฒƒ์ด ์‚ฌ์†Œํ•œ ์ผ์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค! ์ด๊ฒƒ์€ ์‚ฌ์‹ค์ด๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ๋ณธ ๋ฏธ์นœ ์ƒ์† ๊ณ„์ธต์ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€์ง€ ์•ˆ๋‹ค๋ฉด! ์ œ๊ฐ€ ๋งจ ์ฒ˜์Œ์— ์–ธ๊ธ‰ํ•œ ํ† ๋ก ์—์„œ ์ฐธ๊ฐ€์ž ์ค‘ ํ•œ ๋ช…์ด ํƒฑํฌ๋ฅผ ๊ธฐ๊ด€์ด์œผ๋กœ๋ถ€ํ„ฐ ๋ฌผ๋ ค๋ฐ›์•˜์Šต๋‹ˆ๋‹ค!!! ํƒฑํฌ์— ๊ธฐ๊ด€์ด์ด ์žˆ๋‹ค๋Š” ๋‹จ์ˆœํ•œ ์ด์œ  ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ๊ฐ€์žฅ ํ”ํ•œ ์‹ค์ˆ˜์ž…๋‹ˆ๋‹ค. ์ƒ์†์€ ํ•œ ๊ฐœ์ฒด๋ฅผ ๋‹ค๋ฅธ ๊ฐœ์ฒด ๋‚ด์— ํฌํ•จํ•˜๋Š” ์ง‘๊ณ„์™€ ํ˜ผ๋™๋ฉ๋‹ˆ๋‹ค. ํƒฑํฌ๋Š” ๊ธฐ๊ด€์ด์ด ์•„๋‹ˆ๋ฉฐ ๊ธฐ๊ด€์ด์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์˜ค๋ฅ˜๋กœ ์ธํ•ด ๋‹ค์ค‘ ์ƒ์†์„ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด์ œ Java๋กœ ์ง์ ‘ ์ด๋™ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ƒ์† ์ธก๋ฉด์—์„œ ๋ฌด์—‡์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์–ธ์–ด์—๋Š” ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ํด๋ž˜์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค์™€ ๊ทธ๋ ‡์ง€ ์•Š์€ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ํ›„์ž๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋ผ๊ณ  ๋ถ€๋ฅด์ง€๋งŒ ๋ณธ์งˆ์ ์œผ๋กœ ์™„์ „ํžˆ ์ถ”์ƒ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ํ˜„์ƒ์œผ๋กœ์„œ์˜ ์ƒ์† - 2 ๋”ฐ๋ผ์„œ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž ์žฌ์ ์œผ๋กœ ๊ตฌํ˜„์ด ํฌํ•จ๋œ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹จ ํ•˜๋‚˜์—์„œ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค! ์™œ ์ด๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์š”์ ์€ ๊ฐ ๊ตฌํ˜„์ด ์ž์‹ ์ด ์•Œ๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ถ€๋ถ„๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  A ์™€ B ์—์„œ ํด๋ž˜์Šค C๋ฅผ ์ƒ์†ํ•˜๋”๋ผ๋„ ํด๋ž˜์Šค A์—์„œ ์ƒ์†๋œ processA ๋ฉ”์„œ๋“œ๋Š” ๋‚ด๋ถ€ ๋ณ€์ˆ˜ a ์—์„œ๋งŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด c ์™€ processC ๋ฉ”์„œ๋“œ ์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅด๋“ฏ์ด b ์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค . ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ processB ๋ฐฉ๋ฒ• ๋ณ€์ˆ˜ b์—์„œ๋งŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ณธ์งˆ์ ์œผ๋กœ ์ƒ์†๋ฐ›์€ ๋ถ€๋ถ„์ด ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค C๋Š” ํ™•์‹คํžˆ ์ด๋“ค๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ƒ์†๋˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœํžˆ ์ผ๋ถ€๋กœ ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„๊ณผ๋„ ์ž˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ์—๋Š” ๋˜ ๋‹ค๋ฅธ ๊ณจ์นซ๊ฑฐ๋ฆฌ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๋ฆ„์ด ์ค‘๋ณต๋œ๋‹ค๋Š” ์ ์ด๋‹ค. processA ์™€ processB ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„์ด ๋™์ผํ•˜๋‹ค๋ฉด(์˜ˆ: process) ํด๋ž˜์Šค C ์˜ process ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์–ด๋–ค ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ ? ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ์–ด๋Š ๊ฒƒ์ด ํ˜ธ์ถœ๋ฉ๋‹ˆ๊นŒ? ๋ฌผ๋ก  C++์—๋Š” ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ ์ด๊ฒƒ์ด ์–ธ์–ด์— ์กฐํ™”๋ฅผ ๋”ํ•ด์ฃผ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ตฌํ˜„ ์ƒ์†์€ ์žฅ์ ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์ง€๋งŒ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ Java์˜ ๊ตฌํ˜„ ์ƒ์†์€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋ถ€ํ„ฐ์˜ ์ƒ์†๊ณผ ๊ฐ™์€ ๋‹ค์ค‘ ์ƒ์† ์˜ต์…˜์ด ๋‚จ์•„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Java ์šฉ์–ด๋กœ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ผ๋ จ์˜ ๋ฉ”์†Œ๋“œ. (์šฐ๋ฆฌ๋Š” ํ˜„์žฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ƒ์ˆ˜ ์ •์˜๋ฅผ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•˜์„ธ์š”.) ๋ฉ”์„œ๋“œ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ทธ๋ฆฌ๊ณ  ๋ฉ”์†Œ๋“œ์˜ ํ•ต์‹ฌ์€ ๊ฐ์ฒด์˜ ๋™์ž‘์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„์— getXXX , drawXXX , countXXX ๋“ฑ ์˜ ์•ก์…˜์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์€ ์šฐ์—ฐ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ฉ”์†Œ๋“œ์˜ ๋ชจ์Œ์ด๋ฏ€๋กœ ์‹ค์ œ๋กœ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋™์ž‘์„ ๊ฒฐ์ •ํ•˜๋Š” ์š”์†Œ ์ž…๋‹ˆ๋‹ค . ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์˜ต์…˜์€ ๊ฐ์ฒด์˜ ์—ญํ• ์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ด€์ฐฐ์ž, ์ฒญ์ทจ์ž ๋“ฑ ์ด ๊ฒฝ์šฐ ๋ฐฉ๋ฒ•์€ ์‹ค์ œ๋กœ ์ผ๋ถ€ ์™ธ๋ถ€ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋ฐ˜์‘์˜ ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‹ค์‹œ ํ–‰๋™์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๊ฐ์ฒด๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋™์ž‘์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ Œ๋”๋ง์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. ๊ตฌ์›๋ฐ›์„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ตฌ์›๋ฐ›์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธ€์Ž„์š”. ๋”ฐ๋ผ์„œ ๋™์ž‘์„ ์ •์˜ํ•˜๋Š” ํด๋ž˜์Šค์—์„œ ์ƒ์†ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๊ฐ์ฒด๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์—ญํ• ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ตฌํ˜„ ํ–‰๋™์€ ์ „์ ์œผ๋กœ ์–ด๋ฆฐ์ด ํ•™๊ธ‰์˜ ์–‘์‹ฌ์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค(๊ตฌํ˜„)๋กœ๋ถ€ํ„ฐ์˜ ์ƒ์†์€ ์ด ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๊ฐ€ ์ด๋Ÿฐ์ €๋Ÿฐ ์ผ์„ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐ ํด๋ž˜์Šค์— ์˜ํ•ด ๋…๋ฆฝ์ ์œผ๋กœ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์ƒ์†์˜ ์˜ค๋ฅ˜๋กœ ๋Œ์•„๊ฐ€ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•œ ๊ฒฝํ—˜์— ๋”ฐ๋ฅด๋ฉด ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ƒ์†์„ ๋ฐ›์œผ๋ฉด ๋‹ค์ค‘ ๊ตฌํ˜„ ์ƒ์†์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๋ชจ๋“  ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ C++์— ์กด์žฌํ•˜๋Š” ํ˜•ํƒœ์˜ ๋‹ค์ค‘ ์ƒ์†์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ๋ถˆ๋งŒ ์‚ฌํ•ญ์„ ์ ‘ํ•  ๋•Œ ์ด๋Š” ์ž˜๋ชป๋œ ์„ค๊ณ„์˜ ํ™•์‹คํ•œ ์‹ ํ˜ธ์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํ”ํ•œ ์‹ค์ˆ˜๋Š” ์ œ๊ฐ€ ์ด๋ฏธ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ƒ์†์€ ์ง‘๊ณ„์™€ ํ˜ผ๋™๋ฉ๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ์ž˜๋ชป๋œ ๊ฐ€์ •์œผ๋กœ ์ธํ•ด ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์†๋„๊ณ„๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด, ์†๋„๋Š” ๊ฑฐ๋ฆฌ์™€ ์‹œ๊ฐ„์„ ์ธก์ •ํ•ด์•ผ๋งŒ ์ธก์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ ํ›„์—๋Š” ์†๋„๊ณ„๊ฐ€ ๋ˆˆ๊ธˆ์ž์™€ ์‹œ๊ณ„๋กœ๋ถ€ํ„ฐ ์„ฑ๊ณต์ ์œผ๋กœ ์ƒ์†๋˜์–ด ๋‹ค์Œ์˜ ์ •์˜์— ๋”ฐ๋ผ ๋ˆˆ๊ธˆ์ž์™€ ์‹œ๊ณ„๊ฐ€ ๋œ๋‹ค๊ณ  ์ฃผ์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ณ„์Šน. (์†๋„๊ณ„๋กœ ์‹œ๊ฐ„์„ ์ธก์ •ํ•ด ๋‹ฌ๋ผ๋Š” ๋‚˜์˜ ์š”์ฒญ์€ ๋Œ€๊ฐœ ๋†๋‹ด์œผ๋กœ ๋Œ€๋‹ต๋˜๊ฑฐ๋‚˜ ์ „ํ˜€ ๋Œ€๋‹ตํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.) ์—ฌ๊ธฐ์„œ ์‹ค์ˆ˜๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ „์ œ์—์„œ. ์‚ฌ์‹ค ์†๋„๊ณ„๋Š” ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฑฐ๋ฆฌ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์†๋„๊ณ„์— ์žˆ๋Š” ์ฃผํ–‰ ๊ธฐ๋ก๊ณ„๋Š” ๋™์ผํ•œ ํ•˜์šฐ์ง•์— ์žˆ๋Š” ๋‘ ๋ฒˆ์งธ ์žฅ์น˜์˜ ์ „ํ˜•์ ์ธ ์˜ˆ์ž…๋‹ˆ๋‹ค. ์ง‘ํ•ฉ. ์†๋„๋ฅผ ์ธก์ •ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์™„์ „ํžˆ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์†๋„ ์ธก์ •์— ์–ด๋–ค ์˜ํ–ฅ๋„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ๊ทธ๋Ÿฌํ•œ ์‹ค์ˆ˜๊ฐ€ ์˜๋„์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ›จ์”ฌ ๋” ๋‚˜์ฉ๋‹ˆ๋‹ค. โ€œ๋„ค, ๊ทธ๊ฒŒ ์ž˜๋ชป๋œ ๊ฑด ์•Œ์ง€๋งŒ ๊ทธ๊ฒŒ ๋‚˜ํ•œํ…Œ๋Š” ๋” ํŽธํ•ด์š”.โ€ ์ด๊ฒƒ์ด ๋ฌด์—‡์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์— ๋‚ด์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋Œ€ํฌ์™€ ๊ธฐ๊ด€์ด์—์„œ ํƒฑํฌ๋ฅผ ๋ฌผ๋ ค๋ฐ›์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์ด ๋” ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ํƒฑํฌ๋Š” ๋Œ€ํฌ์™€ ๊ธฐ๊ด€์ด์œผ๋กœ ๋ณ€ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ๋น„ํ–‰๊ธฐ์— ๊ธฐ๊ด€์ด 2๊ฐœ์™€ ๋Œ€ํฌ 1๊ฐœ๋ฅผ ์žฅ์ฐฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์„ ์–ป๋‚˜์š”? ์„ธ ๊ฐœ์˜ ํƒฑํฌ ํ˜•ํƒœ์— ๋ฌด๊ธฐ๊ฐ€ ๋งค๋‹ฌ๋ฆฐ ํ•ญ๊ณต๊ธฐ! ์™œ๋ƒํ•˜๋ฉด ๊ทธ๊ฒƒ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ํƒฑํฌ๋ฅผ ๊ธฐ๊ด€์ด์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋ถ„๋ช…ํžˆ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ƒ์† ๊ณ„์ธต ๊ตฌ์กฐ์— ๋”ฐ๋ผ ๋…์ ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋Š” ์ ˆ๋Œ€์ ์œผ๋กœ ์˜ณ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ทธ๋Ÿฌํ•œ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•œ ์‚ฌ๋žŒ์ด ์‹ค์ˆ˜๋ฅผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ ์ €๋Š” " ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ๋‚˜์—๊ฒŒ ๋” ํŽธ๋ฆฌํ•˜๋‹ค" ๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค . ๋“ฃ๋Š” ์‚ฌ๋žŒ์ฒ˜๋Ÿผ ์“ฐ๋Š” ๊ฒŒ ํŽธํ•˜๊ณ , ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•์„ ๋งํ•˜๋Š” ์‚ฌ๋žŒ์€ ๊นŒ์น ํ•˜๋‹ค. ๋ฌผ๋ก  ๊ณผ์žฅํ•˜๊ณ  ์žˆ์ง€๋งŒ ์ฃผ์š” ์•„์ด๋””์–ด๋Š” ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆœ๊ฐ„์ ์ธ ํŽธ๋ฆฌํ•จ ์™ธ์—๋„ ๋ฌธํ•ด๋ ฅ๊ณผ ๊ฐ™์€ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐœ๋…์€ ์ˆ˜๋งŽ์€ ์‚ฌ๋žŒ๋“ค์˜ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ์ •์˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ด๊ฒƒ์ด ์˜์–ด๋กœ "๋ชจ๋ฒ” ์‚ฌ๋ก€"๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ตœ๊ณ ์˜ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹จ์ˆœํ•ด ๋ณด์ด๋Š” ์†”๋ฃจ์…˜์ด ๋ฏธ๋ž˜์— ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.
๋ฌผ๋ก  ์ด ์˜ˆ๋Š” ํฌ๊ฒŒ ๊ณผ์žฅ๋˜์–ด ์žˆ์–ด ํ„ฐ๋ฌด๋‹ˆ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์น˜๋ช…์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•˜๋Š” ๋œ ๋ถ„๋ช…ํ•œ ์‚ฌ๋ก€๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ฒด๋ฅผ ์ง‘๊ณ„ํ•˜๋Š” ๋Œ€์‹  ๊ฐœ์ฒด์—์„œ ์ƒ์†ํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๋Š” ๋ˆ„๊ตฌ์—๊ฒŒ๋‚˜ ์ƒ์œ„ ๊ฐœ์ฒด์˜ ๊ธฐ๋Šฅ์„ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ์˜๋ฏธํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” DBManager ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์„ธ์š” . DBManager - DataManager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค . ์ด ํด๋ž˜์Šค๋Š” ๋ฐ์ดํ„ฐ ์ œ์–ด, ๋ณ€ํ™˜, ์ถ”๊ฐ€ ์ž‘์—… ๋“ฑ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๊ณ„์ธต๊ณผ ๊ธฐ๋ณธ ๊ณ„์ธต ์‚ฌ์ด์— ์žˆ๋Š” ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. DBManager์—์„œ DataManager๋ฅผ ์ƒ์†ํ•˜๋ฉด ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ง์ ‘ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ทธ๋Š” ์ œ์–ด, ๋ณ€ํ™˜ ๋“ฑ์„ ์šฐํšŒํ•˜๋Š” ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข‹์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋„ ์˜๋„์ ์ธ ํ•ด๋ฅผ ๋ผ์น˜๊ณ  ์‹ถ์ง€ ์•Š์œผ๋ฉฐ ์ง์ ‘์ ์ธ ์กฐ์น˜๊ฐ€ ์œ ๋Šฅํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ! ๋ฒ ์ด์Šค๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ๋‚ด ๋ง์€, ํ†ต์ œ๋‚˜ ๋ณ€ํ˜•์˜ ์ผ๋ถ€ ์›์น™์ด ๋ฐ”๋€Œ์—ˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. DataManager๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ „์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ง์ ‘ ์ž‘์—…ํ–ˆ๋˜ ์ฝ”๋“œ๋Š” ๊ณ„์† ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์•„๋งˆ๋„ ๊ทธ๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ๋Š” ๊ทธ๊ฒƒ์„ ์ฐพ๋Š” ์ž๋“ค์ด ํšŒ์ƒ‰์œผ๋กœ ๋ณ€ํ•  ์ •๋„๋กœ ๊ทธ๋Ÿฐ ๋ถ€๋ฅ˜์˜ ์˜ค๋ฅ˜๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. DataManager๋ฅผ ์šฐํšŒํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ž‘์—…ํ•˜๋Š” ์ผ์€ ๋ˆ„๊ตฌ์—๊ฒŒ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์‹ค์ œ ์ƒํ™œ์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๋ฅผ ์ฐพ๋Š” ๋ฐ ๋งค์šฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๋‹ค์‹œ ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ƒ์†์€ "is" ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์ƒ์†์˜ ๋ณธ์งˆ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ํ•˜์œ„ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ณธ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋Šฅ๋ ฅ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค ์‚ฌ์ด์— "is" ๊ด€๊ณ„๊ฐ€ ์—†๋‹ค๋ฉด ์ƒ์†์ด ์žˆ์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค!!! ์–ด๋–ค ์ƒํ™ฉ์—์„œ๋„ ์ ˆ๋Œ€๋กœ. ๋”์šฑ์ด โ€“ ๋„ˆ๋ฌด ํŽธ๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์›๋ณธ ์†Œ์Šค ๋งํฌ: http://www.skipy.ru/philosophy/inheritance.html
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION