E D R , A S I H C RSS

Direct Variable Access

Direct Variable Access

์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์–ด๋–ป๊ฒŒ ์–ป์–ด์˜ค๊ณ  ์–ด๋–ป๊ฒŒ ์…‹ํŒ…ํ•ด์ฃผ๋Š”๊ฐ€?

์ดˆ๊ธฐํ™”์ฒ˜๋Ÿผ ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ํฐ ์ด์Šˆ ์ค‘ ํ•˜๋‚˜์˜€๋‹ค. ์ด๊ฒƒ์—๋„ ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ, ์—ญ์‹œ ํŒจํ„ด์˜ ์กด์žฌ ์ด์œ ์ฒ˜๋Ÿผ, ํ•˜๋‚˜๋Š” ์œ ์—ฐ์„ฑ, ๋˜ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๊ฐ€๋…์„ฑ์ด๋‹ค. ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ๋ชจ๋“  ๋ณ€์ˆ˜๋ฅผ ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š”, ํ•ญ์ƒ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.(setter,getter๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.)

์Šค๋ชฐํ† ํฌ ์ง„์˜์—์„œ๋Š” IndirectVariableAccess๋ฅผ ์„ ํ˜ธํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์ผ„ํŠธ์•„์ €์”จ๊ฐ€ DirectVariableAccess๋ฅผ ์จ ๋ณด๊ณ ๋Š” ๊ทธ๊ฒƒ์˜ ๊ฐ€๋…์„ฑ์— ๋†€๋ž๋‹ค.

์•„๋ž˜๋Š” ํ•œ๋ฒˆ ๋ณด๊ณ  '์Œ. ๋ฉ”์„ธ์ง€ x๋ฅผ ๋ณด๋‚ด๋Š”๊ตฐ' ํ•˜๊ณ  ์ž ๊น ์ƒ๊ฐํ•ด์•ผ ํ•˜์ง€๋งŒ,
~cpp 
...getX()...
์•„๋ž˜๋Š” '์Œ. ๊ทธ๋ƒฅ x๊ตฌ๋‚˜.' ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
~cpp 
..,x...

์™€๋“œ ์•„์ €์”จ์˜ ๋ง๋กœ๋Š”, 'ํด๋ž˜์Šค์— ์•„์ฃผ ์ ์€ ์–‘์˜ ๋ฉ”์†Œ๋“œ๋งŒ ์กด์žฌํ•œ๋‹ค๋ฉด, getter/setter๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋ฉ”์†Œ๋“œ์˜ ์ˆ˜๊ฐ€ ๋‘๋ฐฐ๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฐ๋‹ค. ์ด๋Š” ์ „ํ˜€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ์œ ์—ฐ์„ฑ์„ ์œ„ํ•ด ์“ธ๋ฐ์—†์ด ๊ฐฏ์ˆ˜๋ฅผ ๋Š˜๋ฆฐ ๊ฒƒ์ด๋‹ค.' ๋ผ๊ณ  ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์ด ํด๋ž˜์Šค๊ฐ€ ์ƒ์†์ด ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๋ฉด, setter/getter๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•ด์„œ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, IndirectVariableAccess๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ด ๊ดœ์ฐฎ๋‹ค.

๋ณ€์ˆ˜์— ์ง์ ‘ ์ ‘๊ทผํ•˜๋ผ.

~cpp 
void Point::setXnY(int xNumber, int yNumber)
{
	x = xNumber;
	y = yNumber;
}

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:08
Processing time 0.0037 sec