์ ์ ์์ฑ๊ณผ ๋ฉ์๋(static properties and methods)
static ํค์๋๋ฅผ ๋ถ์ด๋ฉด ํ๋กํผํฐ๋ ๋ฉ์๋๊ฐ ์ธ์คํด์คํ๋์ง ์๊ณ ํด๋์ค ์์ฒด์ ๋ถ๋๋ค.
class goodCoder {
static codername = 'noran';
constructor(coderNumber) {
this.coderNumber = coderNumber;
}
static printCoder() {
console.log(goodCoder.codername);
}
}
const coder1 = new goodCoder(1);
const coder2 = new goodCoder(2);
console.log(coder1.codername); //undefined
์ ์ฝ๋์์ console.log(coder1.codername);์ undefined๋ฅผ ๋ฑ๋๋ค. codername์ด static method์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ console.log(goodCoder.codername);์ผ๋ก ํด๋์ค๋ช ์ผ๋ก ๋ถ์ด๋ฉด ์๋ ์ฝ๋์ฒ๋ผ ๊ฐ์ ์ ๋๋ก ๋ฑ๋๋ค.
console.log(goodCoder.codername); //noran
์ธ์ ์ฌ์ฉํ ๊น?
์ค๋ธ์ ํธ(๋ค์ด์ค๋ ๊ฐ)์ ์๊ด์์ด ํด๋์ค ๋ด์์ ๊ณตํต์ ์ผ๋ก ์ธ ์ ์๋ ๊ฒ์ด๋ผ๋ฉด static์ ์ฐ๋ฉด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ค์ผ ์ ์๋ค.
์ถ์ฒ : ๋๋ฆผ์ฝ๋ฉ https://www.youtube.com/@dream-coding / MDN https://developer.mozilla.org/ko