728x90

์ ˆ์ฐจ์ง€ํ–ฅ 2

[Java] ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ๊ฐœ๋…, ํŠน์ง•, ํด๋ž˜์Šค, ๊ฐ์ฒด

๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด(Object-Oriented Programming = OOP) ์ปดํ“จํ„ฐํ”„๋กœ๊ทธ๋žจ์„ ๋ช…๋ น์–ด์˜ ๋ชฉ๋ก์œผ๋กœ ๋ณด๋Š” ์‹œ๊ฐ์—์„œ ๋ฒ—์–ด๋‚˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ๋œ ๋‹จ์œ„, ์ฆ‰ "๊ฐ์ฒด"๋“ค์˜ ๋ชจ์ž„์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ. ๊ฐ๊ฐ์˜ ๊ฐœ์ฒด๋Š” message passing์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค ํด๋ž˜์Šค์™€ ๊ฐ์ฒด ํด๋ž˜์Šค ๊ฐ์ฒด์˜ ์„ค๊ณ„๋„ ํ˜น์€ ํ‹€ ๊ฐ์ฒด๋“ค์˜ ์ค‘์š”ํ•œ ์†์„ฑ์„ ๊ณต์œ ํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ๋ชจ์ž„ ๊ฐœ๋…์  ๊ฐ์ฒด(Object) ํด๋ž˜์Šค์˜ ํ‹€๋กœ ์ฐ์–ด๋‚ธ ์‹ค์ฒด → ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ์ƒ์„ฑ๋˜๋Š” ์‹ค์ฒด, ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ–๋Š” ๊ตฌ์ฒด์  ์‹ค์ฒด = instance (์ธ์Šคํ„ด์Šค) ์ฃผ๋ณ€์— ๋ณด์ด๋Š” ์‚ฌ๋ฌผ, ์ƒ๋ช… ๊ตฌ์ฒด์  โ–ถ class๋Š” ์„ค๊ณ„๋„, instance๋Š” ์‹ค์ œ๋กœ ๋‚ด๊ฐ€ ์“ฐ๋Š” ๊ฒƒ โ–ถ ๊ฐ์ฒด(์น˜์™€์™€, ์…ฐํผ๋“œ, ์ง„๋„) → ์†์„ฑ(๋ฉ๋ฉ, ๊ผฌ๋ฆฌ๋ฅผ ํ”๋“ฆ) → ํด๋ž˜์Šค(๊ฐœ) โ–ถ ๊ฐ์ฒด๋“ค์€..

[Java] ์ž๋ฐ” ์‹œ์ž‘

๊ฐ์ฒด์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ ์™„์ „ ๊ธฐ์ดˆ ์ปดํ“จํ„ฐ์™€ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋งŒ๋Šฅ ๊ธฐ๊ณ„์ธ ์ปดํ“จํ„ฐ๋ฅผ ์ด์šฉํ•ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด(์ปดํ“จํ„ฐ ์–ธ์–ด, ๊ธฐ๊ณ„์–ด) ๊ธฐ๊ณ„์–ด 0, 1์˜ ์ด์ง„์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ์–ธ์–ด ์ปดํ“จํ„ฐ์˜ CPU๋Š” ๊ธฐ๊ณ„์–ด๋งŒ ์ดํ•ด, ์ฒ˜๋ฆฌ๊ฐ€๋Šฅ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ๊ธฐ๊ณ„์–ด ๋ช…๋ น์„ ADD, SUB, MOVE๋“ฑ๊ณผ ๊ฐ™์€ ํ‘œํ˜„ํ•˜๊ธฐ ์‰ฌ์šด ์ƒ์ง•์ ์ธ ๋‹จ์–ด์ธ ๋‹ˆ๋ชจ๋‹‰ ๊ธฐํ˜ธ(mnemonic symbol)๋กœ ์ผ๋Œ€์ผ ๋Œ€์‘์‹œํ‚จ ์–ธ์–ด (๊ธฐ๊ณ„์–ด BASE, ์ž์ฃผ ์“ฐ๋Š” ๊ธฐํ˜ธ๋“ค ์ด์šฉํ•ด์„œ ๋Œ€์‘, ์ž์ฃผ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ์ƒ์ง•ํ•ด์ฃผ๋Š” ์–ธ์–ด) ๊ณ ๊ธ‰์–ธ์–ด ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ , ๋ณต์žกํ•œ ์ž‘์—…, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ์–ธ์–ด ์ ˆ์ฐจ ์ง€ํ–ฅ ์–ธ์–ด์™€ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Œ ๊ณ ๊ธ‰ ์–ธ์–ด(High-qu..

728x90