๊ธฐ์ ๋ฉด์
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ฌด์์ธ๊ฐ?
โ ๏ธ ๊ฐ์ธ ํ์ต์ ๋ชฉ์ ์ผ๋ก ์์ฑ๋ ๊ธ๋ก ์ ํํ์ง ์์ ์ ์์ต๋๋ค โ ๏ธ
์ด์ ์ ๋ธ๋ก๊ทธ์ ๊ฐ์ฒด์งํฅ ์ธ์ด์ ๋ํด์ ๋๋ฆ ์ ์ด๋ณด์์ง๋ง ๋ฉด์ ์์ ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช ํ๊ธฐ์ ์ง์์ด ๋ถ์กฑํ ๊ฒ ๊ฐ์ ๋ณต์ต ์ฐจ์์ผ๋ก ๋ค์ ํ ๋ฒ ์์ฑํด ๋ณผ๊น ํ๋ค.
๋จ์ํ ์ดํด๋ฅผ ๋ชฉ์ ์ผ๋ก ์์ฑํ ๊ธ์ด๊ธฐ์ ๋ง์ด ๋ฏธ์ํ ๋ด์ฉ์ด์ง๋ง ํด๋น ๊ฒ์๊ธ์ด ์ด๋ ต๊ฒ ๋๊ปด์ง๋ค๋ฉด ์ด ๊ธ๋ก ํฅ๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ๋ค์ ์ ๊ทผํด ๋ณด๋ ๊ฒ์ ์ถ์ฒํ๋ค. ( ๋ ๋ํ ๊ทธ๋ฌ๋ค ใ
ใ
)
1๏ธโฃ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋?
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object-Oriendted-Programming)์ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ๊ตฌ์ฑ์์๋ค์ ๊ฐ์ฒด๋ผ๋ ๊ณณ์ ๋ด์๋์ด ์ํธ์์ฉ์ ํตํด์ ํ๋ก๊ทธ๋จ์ด ๋์ํ ์ ์๊ฒ ํ๋ ๊ฒ์ ๋งํ๋ค.
๊ณผ๊ฑฐ์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์ ์ฐจ์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ ์ ์ฐจ ์งํฅ์ ์ธ ์ธ์ด์๋ ๋ฌ๋ฆฌ ๊ตฌ์ฑ์์๋ค์ด ๊ฐ์ฒด ์์ ๋ด๊ฒจ์์ด ํน์ ๊ฐ์ฒด๋ง ๋์ํ๊ฒ ํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ๋ฑ ๋ค์ํ ์ผ์ ํ ์ ์๊ฒ ๋์๋ค.
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํฌ๊ฒ ์บก์ํ, ์์, ์ถ์ํ, ๋คํ์ฑ์ผ๋ก ๋๋ ์ ์๋ค.
โช๏ธ ์บก์ํ
๋น์ทํ ๊ธฐ๋ฅ์ ํ๋ ํ ์ดํฐ๋ค์ ํ ๊ณณ์ ๋ชจ์์ ๋ด์๋๋ ๊ฒ์ ์บก์ํ๋ผ๊ณ ํ๋ค.
์บก์ํ๊ฐ ์์ ๊ฒฝ์ฐ์ ๊ด๋ จ๋ฐ์ดํฐ๋ค์ ์ฐพ๊ธฐ ์ํด์ ์๋ค ๊ฐ๋ค ํด์ผ ํ ๋ฟ๋ง ์๋๋ผ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ ์ฅ์์ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ ธ์ ์ถํ์ ๋ฌธ์ ๊ฐ ๋ฐ์๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
ํ์ง๋ง ์บก์ํ๋ฅผ ์ฌ์ฉํด์ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ๊ด๋ จ ์ฝ๋๋ฅผ ํ๋์ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ ํธ๋ฆฌํ๋ค.
๋ํ ์บก์ํ๋ ์ผ์ข ์ ์ ๋ณด์๋์ด๋ผ๋ ๊ฐ๋ ์ ๊ฐ์ง๊ณ ์์ด ์บก์ ๋ด๋ถ์ ์ ๋ณด๋ฅผ ๊ฐ์ถ๊ณ ์ธ๋ถ์ ํน์ ๊ธฐ๋ฅ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ฌ api๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋์ด ๊ตฌ์ฒด์ ์ธ ์ฝ๋๋ฅผ ๋ณด์ง ์๊ณ ๊ธฐ๋ฅ์ ๋ํ ์ ๋ณด๋ง์ผ๋ก ์ญํ ์ ์ํํด ๋๊ฐ ์ ์๋ค.
โช๏ธ ์์
์์์ ๋ง๊ทธ๋๋ก ๋ถ๋ชจ๊ฐ ๊ฐ์ง๊ณ ์๋ ์์ฑ์ ์์์๊ฒ ๋ฌผ๋ ค์ฃผ๋ ๊ฒ์ผ๋ก ์์ ํด๋์ค๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ณ์๋ ๋ฉ์๋๋ฅผ ํ์ ํด๋์ค๊ฐ ๋ฐ๋ก ์์ฑํ์ง ์์๋ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ๋ ๊ฒ์ด๋ค.
์ด๋ก ์ธํด ํ์ ํด๋์ค์ ์์ ํด๋์ค์ ์ค๋ณต๋๋ ๋ณ์๋ ๋ฉ์๋๋ฅผ ๋ค์ ์ ์ด์ค ํ์ ์์ด ์ฌ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ ์ง ๋ณด์ํ๊ธฐ๊ฐ ๋งค์ฐ ์ข๋ค.
โช๏ธ ์ถ์ํ
๊ณตํต์ ์์ฑ์ด๋ ๊ธฐ๋ฅ์ ๋ฌถ์ด์ ์ด๋ฆ์ ๋ถ์ด๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ๊ฐ์ฒด ์งํฅ์ ๊ด์ ์์ ์ถ์ํ๋ ํด๋์ค๋ฅผ ์ ์ํ๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
์ข ๋ ์ฝ๊ฒ ์๋ฅผ ๋ค์ด์ ์ค๋ช ํ์๋ฉด ์์ญ์ด, ์ฌ์, ํธ๋์ด, ํ ๋ผ, ์ฌ์ด์ด ์๋๋ฐ ์ด ๋ค์ ์๊น์๋ ํน์ฑ๋ ๋ชจ๋ ๋ค๋ฅด์ง๋ง '๋๋ฌผ'์ ์ํ๋ค๋ ๊ณตํต์ ์ด ์๋ค.
์ด๋ ๊ฒ '๋๋ฌผ'์ด๋ผ๊ณ ์ ํ๊ณ ๋ฌถ์ด ๋๋ ๊ฒ์ ์ถ์ํ๋ผ๊ณ ํ๋ค.
โช๏ธ ๋คํ์ฑ
๋คํ์ฑ์ ๊ฐ์ ๋ชจ์์ ํจ์๊ฐ ์ํฉ์ ๋ฐ๋ผ์ ๋ค๋ฅด๊ฒ ๋์๋ ์ ์๋ค๋ ๊ฒ์ ๋ํ๋ธ๋ค.
๊ณ ์์ด, ๊ฐ, ๋ณ์๋ฆฌ์๊ฒ '์ธ์ด!'๋ผ๋ ๋ช ๋ น์ ๋ด๋ ธ์๋ ๊ณ ์์ด๋ '์ผ์น!', ๊ฐ๋ '๋ฉ๋ฉ!', ๋ณ์๋ฆฌ๋ '์์ฝ!'์ด๋ผ๊ณ ์ธ๋ฏ ๊ฐ๊ฐ ๋ค๋ฅธ ์ธ์์๋ฆฌ๋ฅผ ๋ด๋ ๊ฒ๊ณผ ๊ฐ๋ค๊ณ ๋ณผ ์ ์๋ค.
์ค๋ฒ๋ก๋ฉ | ์ค๋ฒ๋ผ์ด๋ฉ |
- ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ๊ฐ ์ ์ํ๋ ๊ฒ - ์ฌ๋ฌ ์ข ๋ฅ์ ํ์ ์ ๋ฐ์๋ค์ฌ ๊ฒฐ๊ตญ์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋๋ก ๋ง๋ค๊ธฐ ์ํ ์์ |
- ์์์์ ๋์จ ๊ฐ๋
- ์์ ํด๋์ค์ ๋ฉ์๋๋ฅผ ํ์ ํด๋์ค์์ ์ฌ์ ์ ํ๋ ๊ฒ |
๋คํ์ฑ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์๋ ๋ง์ ๋ฐฉ๋ฒ๋ค์ด ์์ง๋ง ๋ํ์ ์ผ๋ก๋ ์ค๋ฒ๋ก๋ฉ(Overloading)๊ณผ ์ค๋ฒ ๋ผ์ด๋ฉ(Overriding)์ด ์๋ค.
2๏ธโฃ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฅ์
โช๏ธ ์ฌ์ฌ์ฉ์ฑ์ด ๋๋ค
๊ฐ์ ์ฝ๋๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ์ง ์๊ณ ๊ฐ์ฒด๋ฅผ ํ์ํ ๋๋ง๋ค ๋ถ๋ฌ์์ ์ฌ์ฉํ ์ ์๋ค.
โช๏ธ ๋ฒ๊ทธ๋ฐ์์ ์ค์ผ ์ ์๋ค ( = ์ ์ง๋ณด์์ ์ฉ์ดํ๋ค )
๋๋ฒ๊น ์ ๊ฑฐ์ณ ๋ฐ์๋๋ ์ค๋ฅ๋ฅผ ์์ฝ๊ฒ ์์ ํ ์ ์์ผ๋ฉฐ, ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ์ง๋ณด์ ๋ํ ์ฉ์ดํ๋ค.
โช๏ธ ์์ฐ์ฑ์ด ๋๋ค
๊ฐ๋ ์ฑ์ด ์ข์ ๋ฟ๋ง ์๋๋ผ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ๊ณผ์ ์ด ์์ํด ์์ฐ์ฑ์ด ๋๋ค.
'๊ฐ์ธ๊ณต๋ถ > ๊ธฐ์ ๋ฉด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ธฐ์ ๋ฉด์ ][๊ฐ๋ฐ์์] ์ข์ ์ฝ๋๋ ๋ฌด์์ธ๊ฐ? (0) | 2021.06.07 |
---|
๋๊ธ