[Kotlin] Getter์™€ Setter

[์›๋ณธ ๋งํฌ]

์›๋ž˜ ์ž๋ฐ”์—์„  ์บก์Аํ™”๋ฅผ ํ•œ๋‹ต์‹œ๊ณ  ๋ณ€์ˆ˜๋งˆ๋‹ค get~ํ•จ์ˆ˜์™€ set~ํ•จ์ˆ˜๋กœ ๋„๋ฐฐ๋ฅผ ํ–ˆ๊ณ , ์ง€๊ธˆ๋„ ํ•˜๊ณ ์žˆ๋‹ค.

๋ฌธ์ œ๋Š”... ์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๊ธธ๊ณ  ๋”๋Ÿฌ์›Œ์ง„๋‹จ๊ฑฐ๋‹ค.

์ด์— ๋Œ€ํ•œ ๋ฐฉ๋ฒ•๋ก ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ”„๋กœํผํ‹ฐ+๊ฒŒํ„ฐ&์„ธํ„ฐ๋‹ค.
๋ฉค๋ฒ„๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋‹จ์ˆœ ์ฝ๊ธฐ์ž‘์—…๊ณผ ๋ณ€๊ฒฝ์ž‘์—…์„ ๋”ฐ๋กœ ์ œ์–ดํ•  ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ.
๋ฉค๋ฒ„๋ณ€์ˆ˜์˜ ์„ ์–ธ ์•„๋ž˜์— get()์ด๋‚˜ set(value)๋งŒ ๋ถ™์ด๋ฉด ๋œ๋‹ค. field๋Š” ๋ณ€์ˆ˜ ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ‚ค์›Œ๋“œ๋‹ค. ๊ฒŒํ„ฐ/์„ธํ„ฐ ๋‘˜์ค‘์— ํ•˜๋‚˜๋งŒ ๋ถ™์—ฌ๋„ ๋œ๋‹ค.
get() = ๋ฐ˜ํ™˜ํ• _ํ‘œํ˜„์‹
set(value)
{ ...๊ฐ’ ์„ค์ • }
๊ฒŒํ„ฐ๋Š” ๋ฌด์กฐ๊ฑด ๋ณ€์ˆ˜์˜ ์ ‘๊ทผ์ œ์–ด ๋ ˆ๋ฒจ์„ ๋”ฐ๋ผ๊ฐ€์•ผ ํ•˜์ง€๋งŒ, ์„ธํ„ฐ์—๋Š” ์ ‘๊ทผ์ œ์–ด์ž๋ฅผ ๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ๋žŒ์˜ ์‹ ์ƒ์„ ์ €์žฅํ•˜๋Š” Person ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ์˜ˆ๋ฅผ ๋ณด๊ฒ ๋‹ค.
์ด๋ฆ„์€ ๋ง‰ ๋ฐ”๋€” ์ˆ˜ ์žˆ์œผ๋‹ˆ ์„ธํ„ฐ๋ฅผ public์œผ๋กœ ๋’€์ง€๋งŒ,
๋‚˜์ด๋Š” ๋งˆ์Œ๋Œ€๋กœ ๋ฐ”๋€Œ๋Š”๊ฒŒ ์•„๋‹ˆ๋‹ˆ ์„ธํ„ฐ๋ฅผ private์œผ๋กœ ๊ฑธ์–ด๋†“์•˜๋‹ค. image ์ฐธ๊ณ ๋กœ ์ €๊ฑด ์ƒ์„ฑ์ž์— ๋ฉค๋ฒ„๋ณ€์ˆ˜๋ฅผ ๋‘์ง€ ์•Š๊ณ  ์ธ์ž๋กœ๋งŒ ์“ด๊ฑฐ๋‹ค.


image

image ์ž˜ ๋˜์ง€๋งŒ



image

image ๋‚˜์ด์— ๋Œ€ํ•œ ์™ธ๋ถ€์ ‘๊ทผ์€ ์ฐจ๋‹จ๋œ๋‹ค.

๋˜, ๊ฒŒํ„ฐ์™€ ์„ธํ„ฐ์—์„œ ๋ญ”๊ฐ€ ์ถ”๊ฐ€์ ์ธ ๋ณ€ํ™”๋ฅผ ์ผ์œผํ‚ฌ ๊ฒŒ ์•„๋‹ˆ๋ผ๋ฉด, ์œ„์˜ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ถ•์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค. image