Class

ํฌ๋กฑยท2023๋…„ 4์›” 19์ผ
0

JavaSrcipt

๋ชฉ๋ก ๋ณด๊ธฐ
29/53

๐ŸŽ… Class

class๋กœ ํ•˜๋ฉด constructor๋กœ ํ•ด์ค€๊ฒƒ๋งŒ ํ”„๋กœํผํ‹ฐ๋กœ ๋“ค์–ด๊ฐ. showName์€ Prototype์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.
Prototype๋‚ด๋ถ€์— constructor ์„ ๋ณด๋ฉด, class User๊ฐ€ ๋œฌ๋‹ค

๐ŸŽ„ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ž‘ ๋น„๊ตํ•˜๊ธฐ


์ƒ์„ฑ์ž ํ•จ์ˆ˜์—์„œ๋Š” showName์ด ํ”„๋กœํผํ‹ฐ๋กœ ๋ฐ”๋กœ ๋“ค์–ด๊ฐ„๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
๋งŒ์•ฝ ์ƒ์„ฑ์ž ํ•จ์ˆ˜์—์„œ๋„ showName์„ class์‚ฌ์šฉํ•œ๊ฒƒ์ฒ˜๋Ÿผ Prototype์•ˆ์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด ์š”๋ ‡๊ฒŒ ๐Ÿ‘‡

์—๋Ÿฌ ๋ฐœ์ƒ์‹œ ์ฐจ์ด์ 

์ƒ์„ฑ์ž ํ•จ์ˆ˜๋Š” new๋ฅผ ์•ˆ์“ฐ๊ณ  const๋ฅผ ์„ ์–ธํ• ๊ฒฝ์šฐ undefined๊ฐ€ ํ• ๋‹น๋˜๋Š”๋ฐ, ์—๋Ÿฌ๊ฐ€๋œจ์ง€์•Š์•„์„œ ์ž˜ ๋ชจ๋ฅผ์ˆ˜๋„์žˆ์Œ
class๋ฅผ new ์—†์ด ์“ฐ๋ฉด ์—๋Ÿฌ๊ฐ€ ํ•œ๋ˆˆ์— ๋ณด์ธ๋‹ค. ๊ทธ๋ž˜์„œ class ๊ฐ€ ๋” ์“ฐ๊ธฐ์ข‹๋‹ค




๐ŸŽ„ Class ์ƒ์†

extends

๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(method overriding)

๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ๋ฉ”์†Œ๋“œ๋ฅผ ๋„ฃ์œผ๋ฉด ๋ฎ์–ด์“ฐ๊ธฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
stop()์ด ๋‘๊ฐœ์ธ๋ฐ ์–ด๋–ค๊ฒŒ ์‹คํ–‰๋ ๊นŒ์š”? ์Šค๋•์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค

๋งŒ์•ฝ ๋ถ€๋ชจ(Car)์˜ stop()๋„ ์ถœ๋ ฅ๋์œผ๋ฉด ์ข‹๊ฒ ๋‹ค?
super ์‚ฌ์šฉ!

์ž์‹์ƒ์„ฑ์ž์— constructor ์„ ๋„ฃ๋Š”๋‹ค๋ฉด?

๋งŒ์•ฝ ์ž์‹ class์— constructor๊ฐ€ ์—†๋‹ค๋ฉด

<script>
constructor(...arg){
   super(...arg) 
 }
</script>

์‚ฌ์‹ค ์ด constructor ์ฝ”๋“œ๊ฐ€ ์ƒ๋žต๋˜์–ด์žˆ๋Š”๊ฑฐ๋‹ค.
๐ŸŒŸ์ฆ‰, ์ž์‹์ƒ์„ฑ์ž๋Š” ๋ฌด์กฐ๊ฑด ๋ถ€๋ชจ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š”๊ฒƒ.!๐ŸŒŸ

๊ทธ๋ž˜์„œ super(์ธ์ž) ๋ฅผ ๊ผญ ๊ผฎ ์“ฐ๊ธฐ






ํ›„....


์ถœ์ฒ˜: ์ฝ”๋”ฉ์•™๋งˆ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ค‘๊ธ‰ ๊ฐ•์ขŒ ์œ ํŠœ๋ธŒ

profile
๐Ÿ‘ฉโ€๐Ÿ’ป์•ˆ๋…•ํ•˜์„ธ์š”๐ŸŒž

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