[ES6] getter & setter

JIOOยท2021๋…„ 10์›” 10์ผ
0

ES6

๋ชฉ๋ก ๋ณด๊ธฐ
4/17

๐Ÿ‘ฉโ€๐ŸŽ“ ๊ฐ„๋‹จํ•œ ๊ฒŒ์ž„ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋ฝ‘๋Š” Class๋ฅผ ๋งŒ๋“ ๋‹ค๋Š” ๊ฐ€์ •

๐Ÿ“– ํ”Œ๋ ˆ์ด ์กฐ๊ฑด

(1) ๋ชจ๋“  Unit์˜ ์ธ์Šคํ„ด์Šค๋Š” ๊ณต๊ฒฉ๋ ฅ, ์ฒด๋ ฅ ์†์„ฑ์ด ์žˆ์œผ๋ฉฐ ๊ธฐ๋ณธ ๊ณต๊ฒฉ๋ ฅ์€ 5, ๊ธฐ๋ณธ ์ฒด๋ ฅ์€ 100์œผ๋กœ ์„ค์ •

(2) ๋ชจ๋“  Unit์˜ ์ธ์Šคํ„ด์Šค๋Š” ์ „ํˆฌ๋ ฅ์„ ์ธก์ •ํ•ด์ฃผ๋Š” battlePoint๋ผ๋Š” getter๊ฐ€ ์žˆ๋‹ค.

battlePoint๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ํ˜„์žฌ ๊ณต๊ฒฉ๋ ฅ๊ณผ ์ฒด๋ ฅ์„ ๋”ํ•œ ๊ฐ’์„ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

(3) ๋ชจ๋“  Unit์˜ ์ธ์Šคํ„ด์Šค๋Š” heal์ด๋ผ๋Š” setter๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค.heal = 50 ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ์ฒด๋ ฅ ์†์„ฑ์ด 50 ์ฆ๊ฐ€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. 

๐Ÿ‘ฉโ€๐ŸŽ“ ์ธ์Šคํ„ด์Šค๋Š” class๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ์ƒ์„ฑ๋˜๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋œปํ•จ.

๐Ÿ“ ์˜ˆ์‹œ

class Unit {
 constructor(){
   this.์ฒด๋ ฅ = 100;
   this.๊ณต๊ฒฉ๋ ฅ = 5;
 }
 get battlePoint(){ //getter์€ ๊ทธ์ € ์ถœ๋ ฅ์šฉ return์ด ํ•„์ˆ˜
   return this.์ฒด๋ ฅ + this.๊ณต๊ฒฉ๋ ฅ;
 }
 set heal(a){ //์˜ค๋ธŒ์ ํŠธ ๋‚ด์šฉ ์ˆ˜์ •์šฉ
   this.์ฒด๋ ฅ = this.์ฒด๋ ฅ + a; 
 }
};

var ๋‚ด์บ๋ฆญํ„ฐ = new Unit();

๋‚ด์บ๋ฆญํ„ฐ.heal = 50;

console.log(๋‚ด์บ๋ฆญํ„ฐ.battlePoint);
profile
ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ์ข‹์€ ์›น์Ÿ์ด with Notion (์š”์ฆ˜์€ ๋…ธ์…˜๊ณผ ๋ณ‘ํ–‰ ์ค‘)

0๊ฐœ์˜ ๋Œ“๊ธ€