๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป Deep Wide Programming/Javascript & Vanila JS

[์ƒํ™œ์ฝ”๋”ฉ JS] object inheritance ๊ฐ์ฒด ์ƒ์† (์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ๋ฆฌ์ฆˆ)

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ ์ƒ์†์ด ์•„๋‹Œ, ๊ฐ์ฒด๋ฅผ ํ†ตํ•œ ์ƒ์†์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. 

โœ๏ธ ์ฃผ๋ฅ˜ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด์˜ ๋ฐฉ์‹

๊ฐ์ฒด์˜ ์†์„ฑ์€ ํด๋ž˜์Šค ๋‹จ์—์„œ ์ด๋ฏธ ๊ฒฐ์ •์ด ๋œ๋‹ค. ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๋‹ค๋ฅด๋‹ค! 
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐ์ฒด๊ฐ€ ์ง์ ‘ ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ , ์–ผ๋งˆ๋“ ์ง€ ์ƒ์†๊ด€๊ณ„๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ! ๋˜ ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด, ๋งํฌ ๊ต์ฒด๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ์†๊ด€๊ณ„๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋งํฌ๋ฅผ 'prototype link'๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๋งํฌ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ 'prototype object'๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 

 

 

๐Ÿ“Œ__proto__๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

 

or

๐Ÿ“ŒObject.create(); ๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•