Java ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํจํฐ์๊ฒ ๋ช
๋ น์ ๋ณด๋ด๋ ๋ฌธ์ ์ฒด๊ณ
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
Java๋ ๊ฐ์ฅ ์ธ๊ธฐ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค ํ๋์ด๋ฉฐ, ์น ์ ํ๋ฆฌ์ผ์ด์
, ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
, ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์
, ๊ฒ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ, ๊ทธ๋ฆฌ๊ณ ๊ธฐํ ๋ง์ ๊ฒ๋ค์ ๊ฐ๋ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฅผ ์ํด Java ๊ฐ๋ฐํ๊ฒฝ์ ์ค์นํ๋ ๊ฒ์ ํ์์ ์
๋๋ค.
๊ฐ์ฒด
์์ฑ๊ณผ ๊ธฐ๋ฅ์ ๊ฐ์ง ๋์
โข
๋ก๋ด, ์๋์ฐจ, ๋๋ฌผ, ํ์, ์ ์๋, ๊ณผ๋ชฉ ๋ฑ
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด (OOP)
ํ์ค ์ธ๊ณ์ ๊ฐ์ฒด(Object)๋ฅผ ๋ชจ๋ธ๋งํ๊ณ , ์ด๋ฌํ ๊ฐ์ฒด๋ค ๊ฐ์ ์ํธ์์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์
ํน์ง
ํน์ง | ์ค๋ช
|
์บก์ํ (Encapsulation) | ๊ด๋ จ๋ ๋ฐ์ดํฐ์ ๋ฉ์๋๋ฅผ ํ๋์ ๋จ์๋ก ๋ฌถ์ด ์บก์ํ. ์ ๋ณด ์๋์ ํตํด ๊ฐ์ฒด ๋ด๋ถ์ ๊ตฌํ์ ์ธ๋ถ์ ๊ฐ์ถ๊ณ ํ์ํ ๋ถ๋ถ๋ง์ ๊ณต๊ฐํ์ฌ ๋ชจ๋์ฑ์ ๋์. |
์์ (Inheritance) | ์ด๋ฏธ ์กด์ฌํ๋ ํด๋์ค์ ํน์ฑ๊ณผ ๋์์ ์๋ก์ด ํด๋์ค๊ฐ ์์๋ฐ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ. ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ์ฌ ์ ์ง๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ํจ. |
๋คํ์ฑ (Polymorphism) | ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ ์ฐ์ฐ์๊ฐ ๋ค๋ฅธ ๋ฐ์ดํฐ ํ์
์ ๋ํด ๋ค๋ฅด๊ฒ ๋์. ์ค๋ฒ๋ก๋ฉ๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ์ ํตํด ๊ตฌํ๋๋ฉฐ, ์ฝ๋์ ์ ์ฐ์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ์ฆ๊ฐ์ํด. |
์ถ์ํ (Abstraction) | ๋ณต์กํ ์์คํ
์์ ํต์ฌ ๊ธฐ๋ฅ์๋ง ์ด์ ์ ๋ง์ถ๊ณ ๋ถํ์ํ ์ธ๋ถ ์ฌํญ์ ์จ๊ธฐ๋ ๊ฒ. ํด๋์ค์ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ถ์ํ๋ฅผ ๊ตฌํํ์ฌ ์ฝ๋์ ๊ฐ๋
์ฑ๊ณผ ๊ด๋ฆฌ ์ฉ์ด์ฑ์ ํฅ์. |
ํด๋์ค์ ๊ฐ์ฒด | ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ
ํ๋ฆฟ์ผ๋ก, ๊ฐ์ฒด๋ ํด๋์ค์ ์ธ์คํด์ค. ํด๋์ค๋ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ์ ์ํ๋ฉฐ, ๊ฐ์ฒด๋ ์ด๋ฅผ ์ด์ฉํ์ฌ ๋์. |
๋ฉ์์ง ํจ์ฑ | ๊ฐ์ฒด ๊ฐ์ ์ํธ์์ฉ์ ๋ฉ์์ง ์ ๋ฌ์ ํตํด ์ด๋ฃจ์ด์ง. ๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ฐ์ ์ฒ๋ฆฌํจ์ผ๋ก์จ ํ๋ ฅ. |
๋์ ๋ฐ์ธ๋ฉ | ์คํ ์๊ฐ์ ๊ฐ์ฒด์ ๋ฉ์๋๊ฐ ์ด๋ค ๊ฒ์ ํธ์ถํ ์ง๋ฅผ ๊ฒฐ์ . ๋คํ์ฑ๊ณผ ๊ด๋ จ์ด ์์ผ๋ฉฐ, ์คํ ์ค์ ๊ฐ์ฒด์ ํ์
์ ๋ฐ๋ผ ์ ์ ํ ๋ฉ์๋๊ฐ ํธ์ถ๋จ. |
์ข ๋ฅ
1.
Java: ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์กฐํ๋ ์ธ์ด๋ก, ํ๋ซํผ ๋
๋ฆฝ์ ์ธ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. Java๋ ๋๊ท๋ชจ ์์ฉ ํ๋ก๊ทธ๋จ ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
2.
C++: C ์ธ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก, ์ ์์ค ๋ฐ ๊ณ ์์ค ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ ๊ฐ๋ฅํฉ๋๋ค. ๊ฒ์ ๊ฐ๋ฐ, ์์คํ
ํ๋ก๊ทธ๋๋ฐ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ์ฌ์ฉ๋ฉ๋๋ค.
3.
C#: Microsoft์์ ๊ฐ๋ฐํ ์ธ์ด๋ก, ์ฃผ๋ก Windows ํ๋ซํผ์์ ์ฌ์ฉ๋๋ฉฐ, ๊ฒ์ ๊ฐ๋ฐ์ ๋ง์ด ํ์ฉ๋๋ ์ธ์ด ์ค ํ๋์
๋๋ค.
4.
Python: ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ง์ํ๋ ๋ค๋ชฉ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก, ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฌ์ด ๋ฌธ๋ฒ์ ๊ฐ์ง๊ณ ์์ด ๋ง์ ๋ถ์ผ์์ ์ฌ์ฉ๋ฉ๋๋ค.
5.
Ruby: ๋์ ํ์ดํ์ ์ง์ํ๋ฉฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์กฐํ๋ ์ธ์ด๋ก, ์น ๊ฐ๋ฐ ํ๋ ์์ํฌ์ธ Ruby on Rails์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
6.
Swift: Apple์ด iOS ๋ฐ macOS ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๊ธฐ ์ํด ๋ง๋ ์ธ์ด๋ก, ๊ฐ๋ ฅํ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.




