์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

7.5. ํด๋ž˜์Šค ์ถ”์ถœํ•˜๊ธฐ | 7.6. ํด๋ž˜์Šค ์ธ๋ผ์ธํ•˜๊ธฐ

๐Ÿœ๊ฐœ๋ฐœ์ž๋ผ๋ฉด/์ฑ…์„ ์ฝ์žโœ

by :ํ•ดํ”ผ๋ž˜๋น—๐Ÿพ 2021. 10. 5. 12:51

๋ณธ๋ฌธ

๋งˆ์น˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ •๊ทœํ™” ํ•˜๋Š” ๊ณผ์ •? ๊ฐ™๋‹ค.

class Person{
    get officeAreaCode(){return this._officeAreaCode;}
    get officeNumber(){return this._officeNumber;}
}


// officeAreaCode์™€ officeNumber์˜ ๊ฒฝ์šฐ telephoneNumber์—์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ’์ด๋‹ค.
// ๊ทธ๋ž˜์„œ, TelephoneNumber๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ๊ฐ์ฒด์—์„œ areaCode, number๋ฅผ ๋ฐ˜ํ™˜๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์˜€๋‹ค.
class Person{
    get officeAreaCode(){return this._telephoneNumber.areaCode;}
    get officeNumber(){return this._telephoneNumber.number;}
}

class TelephoneNumber{
    get areaCode(){return this._areaCode;}
    get number(){return this._number;}
}

TelephoneNumber ์˜, _areaCode, _number๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” getter ํ•จ์ˆ˜๊ฐ€ 

TelephoneNumber ํด๋ž˜์Šค์—์„œ ์˜๋ฏธ ์žˆ๊ธฐ ๋ณด๋‹ค๋Š”

Person ํด๋ž˜์Šค์—์„œ ์˜๋ฏธ ์žˆ๋Š” ํ•จ์ˆ˜๋ผ๋ฉด,

Person ํด๋ž˜์Šค์—์„œ _areaCode, _number๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” getterํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜์ž.

728x90

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ