-
Notifications
You must be signed in to change notification settings - Fork 0
javascript_jquery_basic_5_1
์ ์ฐจ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋ฌธ์ ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ์์ ํจ์๋ก ๋๋ ์์ฑํ๋ฉฐ ์ด ํจ์๋ค์ ์ํ๋ ์์์ ๋ง๊ฒ ์์ฑํ๋ ๋ฐฉ์์ ๋งํ๋ค. ์ ์ฐจ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฅ ํฐ ํน์ง์ ์ฒ๋ฆฌ ๋ถ๋ถ์ธ ํจ์๋ค์์ ์ ์ญ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํด์ ์ฌ์ฉํ๋ค๋ ์ ์ด๋ค. ๋ฐ์ดํฐ๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์ญ ๋ฐ์ดํฐ๋ก ๋ง๋ค์ด์ง๋ฉฐ ํจ์ ํธ์ถ์ ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ๋งค๊ฐ๋ณ์ ๊ฐ์ผ๋ก ๋๊ธฐ๋ ๊ตฌ์กฐ๋ก ๋์ด์๋ค.
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋ฌธ์ ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ฒด ๋จ์๋ก ๋๋ ์์ ํ๋ ๋ฐฉ์์ ๋งํ๋ค. ์ด ๋ฐฉ์์ ์ค๋๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ํ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ด๋ค. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฅ ํฐ ํน์ง์ ํด๋์ค๋ฅผ ์ด์ฉํด ์ฐ๊ด ์๋ ์ฒ๋ฆฌ๋ถ๋ถ(ํจ์)๊ณผ ๋ฐ์ดํฐ ๋ถ๋ถ(๋ณ์)๋ฅผ ํ๋๋ก ๋ฌถ์ด ๊ฐ์ฒด(์ธ์คํด์ค)๋ฅผ ์์ฑํด ์ฌ์ฉํ๋ค๋ ์ ์ด๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์๋๋ค. ๊ทธ๋ฌ๋ ES6 ๋ถํฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฏ๋ก์จ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ก ๋ณํํด๊ฐ๊ณ ์๋ค.
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ ์ผ์ข ์ ๋ ผ๋ฌธ๊ณผ๋ ๊ฐ์ ์ฐ๊ตฌ ๊ฒฐ๊ณผ์ ์ฐ๋ฌผ์ด๋ค. ์ ์ง๋ณด์ํ๊ธฐ ์ฝ๊ณ ๋์ ๋์ง ์๋ ๋ฉ์ง ์ฝ๋๋ฅผ ๋ง๋ค ์ ์์๊น ์์์ด ๋ ธ๋ ฅํ ๋์ ์์ฑํ ์ต์์ ๊ฒฐ๊ณผ๋ฌผ์ด๋ค. ๊ฐ์ฒด์งํฅ ์ธ์ด๋ ์๋ ๋ค ๊ฐ์ง ํน์ง์ ๊ตฌํํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ผ ํ๋ค.
- ์ถ์ํ
- ์บก์ํ
- ์์
- ๋คํ์ฑ
์ถ์ํ๋ ์ค๊ณํ๋ ์์ ์์ฒด๋ฅผ ๋ํ๋ธ๋ค. ์ถ์ํ์ ๊ฐ์ฅ ํฐ ํน์ง์ ํ๋กํผํฐ์ ๋ฉ์๋์ ์ด๋ฆ์ ์์ฑํ๋ ์ ์ธ ๋ถ๋ถ๋ง ๋ง๋ค ๋ฟ ๊ตฌํ ์์ค๋ฅผ ๊ตฌํํ์ง ์๋๋ค๋ ์ ์ด๋ค.
์์ : ES5 ๊ธฐ๋ฐ ์ถ์ํด๋์ค์ ์ถ์๋ฉ์๋ ๊ตฌํ
์ถ์ํ ์์ ๋ด์ฉ์ค ์ด๋ค ํ๋กํผํฐ์ ๋ฉ์๋๋ ์ธ๋ถ์์ ์ ๊ทผ ๊ฐ๋ฅํ๊ณ ๋ ์ด๋ค ํ๋กํผํฐ์ ๋ฉ์๋๋ ์ธ๋ถ์์ ์ ๊ทผํ์ง ๋ชปํ๊ฒ ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด ์์ ์ ์บก์ํ๋ผ๊ณ ํ๋ค.
์์ : ES5 ๊ธฐ๋ฐ ์ ๊ทผ์ง์ ์ ๊ตฌํ
์์์ ํน์ ํด๋์ค(๋ถ๋ชจ ํด๋์ค)์ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ํ์(์์) ํด๋์ค๊ฐ ๋ฌผ๋ ค๋ฐ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์์ : ES5 ๊ธฐ๋ฐ ์์ ๊ตฌํ
์์ : ES6 ๊ธฐ๋ฐ ์์ ๊ตฌํ
๋คํ์ฑ์ ํน์ ๊ธฐ๋ฅ์ ์ ์ธ(์ค๊ณ)๋ถ๋ถ๊ณผ ๊ตฌํ(๋์)๋ถ๋ถ์ผ๋ก ๋ถ๋ฆฌํ ํ ๊ตฌํ๋ถ๋ถ์ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ง๋ค์ด ์ ํํด์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ ๊ธฐ๋ฅ์ด๋ค. ์ฌ๊ธฐ์ ์ ์ธ ๋ถ๋ถ์ ์ธํฐํ์ด์ค๋ผ๊ณ ๋ ํ๋ค.
์์ : this๋ฅผ ์ด์ฉํ ๋คํ์ฑ ๊ตฌํ
์์ : ์์์ ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋๋ฅผ ์ด์ฉํ ๋คํ์ฑ ๊ตฌํ
๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋๋ ์์ ํด๋์ค์์ ๋ถ๋ชจ ํด๋์ค์ ๊ธฐ๋ฅ์ ์ฌ์ ์ํ ๋ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด๋ค.
๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ๋์ผํ ์ด๋ฆ์ ๊ฐ์ง ์ฌ๋ฌ ๊ฐ์ ๋ฉ์๋๋ฅผ ๋ง๋ ํ ๋งค๊ฐ๋ณ์ ํ์ ๊ณผ ๊ฐ์์ ๋ง๋ ๋ฉ์๋๊ฐ ์๋์ผ๋ก ํธ์ถ๋๋ ๊ธฐ๋ฅ์ ๋ปํ๋ค.
๊ฐ์ฒด์งํฅ ์ค๊ณ๋ ํ๋ก๊ทธ๋๋ฐ์ ์์ญ์ ๋์ด์ ์์ ์ ์์ญ์ด๋ค.
http://woowabros.github.io/study/2016/07/07/think_object_oriented.html