[SEB FE] section 2 unit 2 (2) ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ
OOP
- OOP๋ ํ๋ก๊ทธ๋จ ์ค๊ณ ์ฒ ํ
- OOP์ ๋ชจ๋ ๊ฒ์ '๊ฐ์ฒด'๋ก ๊ทธ๋ฃนํ
- OOP์ 4๊ฐ์ง ์ฃผ์ ๊ฐ๋ ์ ํตํด ์ฌ์ฌ์ฉ์ฑ์ ์ป์ ์ ์๋ค.
ํด๋์ค์ ์ธ์คํด์ค
- ํด๋์ค๋ ์ผ์ข ์ ์ํ(original form)์ผ๋ก, ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํ ์์ด๋์ด๋ ์ฒญ์ฌ์ง
- ์ธ์คํด์ค๋ ํด๋์ค์ ์ฌ๋ก(instance object)
- ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์์ฑ์(constructor) ํจ์๋ฅผ ํฌํจ

์์ฑ๊ณผ ๋ฉ์๋..
์์, ๊ฐ๊ฒฉ, ์๋ ฅ๊ณผ ๊ฐ์ ๊ณ ์ ์ ์์ฑ
๊ทธ๋ฆฌ๊ณ ์์, ํ์ง, ์ ์ง, ๋ฉ์ถค๊ณผ ๊ฐ์ ๊ธฐ๋ฅ๋ค์ด ๋ฉ์๋๋ก ์กด์ฌํ๋ค.
OOP์ ๋ค ๊ฐ์ง ๊ฐ๋
(Encapsulation, Inheritance, Abstraction, Polymorphism)
์บก์ํ๋ ๋ฐ์ดํฐ(์์ฑ), ๊ธฐ๋ฅ(๋ฉ์๋)๋ฅผ ๋ฐ๋ก ์ ์ํ๋ ๊ฒ ์๋๋ผ, ํ๋์ ๊ฐ์ฒด ์์ ๋ฃ์ด์ ๋ฌถ๋ ๊ฒ. (๋์จ~~)
๋์จํ ๊ฒฐํฉ์ ์ฝ๋ ์คํ ์์์ ๋ฐ๋ผ ์ ์ฐจ์ ์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ,
์ฝ๋๊ฐ ์์งํ๋ ์ค์ ๋ชจ์ต๊ณผ ๋ฎ๊ฒ ์ฝ๋๋ฅผ ๋ชจ์ ๊ฒฐํฉํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
-์๋ํ๋ ํฌํจ (๋ด๋ถ ๋ฐ์ดํฐ๋ ๋ด๋ถ ๊ตฌํ์ด ์ธ๋ถ๋ก ๋ ธ์ถ๋์ง ์๋๋ก ๋ง๋๋ ๊ฒ)\
์ถ์ํ๋ ๋ด๋ถ๊ตฌํ์ ์์ฃผ ๋ณต์กํ๋ฐ, ์ค์ ๋ก ๋ ธ์ถ๋๋ ๋ถ๋ถ์ ๋จ์ํ๊ฒ ๋ง๋ ๋ค๋ ๊ฐ๋
์๋ฅผ ๋ค๋ฉด ์ ํ๋ผ๋ ๊ฐ์ฒด์์, ์คํผ์ปค์ ๋ง์ดํฌ, ์ํท ๋ณด๋ ๋ฑ์ด ์กด์ฌํ๋ ๋ฑ์ ๋ด๋ถ๊ตฌํ์ด ์์ ์ง์ธ์ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ๋์๋ ๋จ์ํ ์ํ๊ธฐ๋ฅผ ๋ค๊ณ ๋ฒํผ์ ๋๋ฌ์ ํด๊ฒฐํ๋ค.
-์บก์ํ๊ฐ ์ฝ๋๋ ๋ฐ์ดํฐ์ ์๋์ ํฌ์ปค์ค๊ฐ ๋ง์ถฐ์ ธ์๋ค๋ฉด, ์ถ์ํ๋ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋์ด ํ์ํ์ง ์์ ๋ฉ์๋ ๋ฑ์ ๋ ธ์ถ์ํค์ง ์๊ณ , ๋จ์ํ ์ด๋ฆ์ผ๋ก ์ ์ํ๋ ๊ฒ์ ํฌ์ปค์ค๊ฐ ๋ง์ถฐ์ ธ ์๋ค.
์์์ ๋ถ๋ชจ ํด๋์ค(๊ธฐ๋ณธํด๋์ค-base class)์ ํน์ง์ ์์ ํด๋์ค(ํ์ํด๋์ค-derived class)๊ฐ ๋ฌผ๋ ค๋ฐ๋ ๊ฒ.
๋คํ์ฑ์ HTML ์๋ฆฌ๋จผํธ๋ฅผ ์๋ก ๋ค์ด
DOM์ ๋ฐฐ์ธ ๋ Textarea(TextBox), Select, ๊ทธ๋ฆฌ๊ณ Checkbox ๋ฑ
HTML์์๋ ์ด์ ๊ฐ์ด ๋ชจ๋ ์์๊ฐ ์ ๋ถ Element
TextBox, Select, Checkbox์ ๊ณตํต์ ๋ถ๋ชจ์ธ HTML Element๋ผ๋ ํด๋์ค์ render๋ผ๋ ๋ฉ์๋๋ฅผ ๋ง๋ค๊ณ ์์์ ๋ฐ๊ฒ ๋ง๋ค ์ ์๋ค.
๋คํ์ฑ์ ํต์ฌ์ ์ด ๊ฐ์ ์ด๋ฆ์ render๋ผ๋ ๋ฉ์๋๊ฐ ์กฐ๊ธ์ฉ ๋ค๋ฅด๊ฒ ์๋ํ๋ค๋ ๋ฐ ์๋ค.