OOP ๋? ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (Object Oriented Programming)์ ๋ปํ๋ค. OOP์ ๋ชจ๋ ๊ฒ์ '๊ฐ์ฒด'๋ก ๊ทธ๋ฃนํ๋๋ค. ํนํ, OPP๋ 4๊ฐ์ง ๊ฐ๋
์ ๊ฐ์ง๊ณ ์์ด ์ฌ์ฌ์ฉ์ฑ์ด ์ข๋ค. OOP 4๊ฐ์ง ๊ฐ๋
์บก์ํ(Encapsulation) ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ๋ฐ๋ก ์ ์ํ์ง ์๊ณ , ํ๋์ ๊ฐ์ฒด ์์์ ๋์จํ๊ฒ ๋ฌถ๋๋ค ์๋(๊ตฌํ์ ์จ๊ธฐ๊ณ , ๋์์ ๋
ธ์ถ์ํด) ๊ณผ ๋์จํ ๊ฒฐํฉ(์ธ์ ๋ ์์ ๊ฐ๋ฅ)์ ์ ๋ฆฌํ๋ค ์ถ์ํ(Abstraction) ์ ํ๊ธฐ์ ํ๋ก๋๊ฐ ๋์ ๋ณด์ด์ง ์์ง๋ง, ๋๊ตฌ๋ ์ ํ๊ธฐ๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค ๋๋ฌด ๋ง์ ๊ธฐ๋ฅ์ด ๋
ธ์ถ๋์ง ์๊ฒ ํ์ฌ ์ฌ์ฉ ์์ ํผ๋์ ์์ค๋ค ์์(Inheritance) ์์์ ๋ถ๋ชจ๊ฐ ๊ฐ์ง ์ ์ ์๋ฅผ ๋์ผํ๊ฒ ๊ฐ๊ณ ์๋ค. ๊ทธ ๋์ผํ ๋ถ๋ถ์ ์ผ์ผํ ์ฐ์ง ์๊ณ , ๋ถ๋ชจ๋ฅผ ๋์ด์..
์์
Class inheritance ์์์ ์ฐ๋ ์ด์ : ์ค๋ณต์ฝ๋๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํจ. ์ฆ, ๋ถ๋ชจํด๋์ค๋ฅผ ์ผ์ผ์ด ์ฐ์ง์๊ณ , ๋ฐ๋ ค์ ์๋ก์ด ๊ธฐ๋ฅ์ ์์ class์ ์ถ๊ฐํด ์ฃผ๊ณ ์ถ์๋ ํํ : ์์ํด๋์ค์ธ PersonPlus ๋ ๋ถ๋ชจํด๋์ค์ธ Person์ ์์ฑ์ ๊ฐ์ง๊ณ ์์ ๊ณต์ ํ๋ค ๋ฐ๋ผ์, ๋ถ๋ชจํด๋์ค Person์ ์์ฑ์ ์์ ํ๋ค๋ฉด, ์์ํด๋์ค PersonPlus ์์ฑ๋ ์์ ๋จ //๋ถ๋ชจํด๋์ค class Person { constructor(name, first, second){ this.name =name; this.first=first; this.second=second; } sum=()=>{ return (this.first+this.second); } } //์์ํด๋์ค class PersonPlus exte..