Java ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ ์ฝ๊ฒ ์ดํดํ๊ธฐ!
์ด ์์์ Java ํ๋ก๊ทธ๋๋ฐ์์ย ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ(Method Overloading)ย ๊ฐ๋
์ ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ ์ค๋ช
ํด ์ค๋๋ค. ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ด๋ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ๋งค๊ฐ๋ณ์(์
๋ ฅ๊ฐ)์ ํ์
์ด๋ ๊ฐ์์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ ์ ์ํ๋ ๊ฒ์ ๋งํด์. ์ด๋ฅผ ํตํด ๊ฐ์ ๊ธฐ๋ฅ์ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ Java์ ๋คํ์ฑ(Polymorphism) ํน์ง ์ค ํ๋๋๋๋ค.
๋ชฉ์ฐจ
1.
2.
3.
4.
5.
6.
1. ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ ์๊ฐ์ ๋คํ์ฑ ๊ฐ๋
[00:00:00]
โข
๋คํ์ฑ(Polymorphism): '๋ค์ํ ํํ๋ฅผ ๊ฐ์ง๋ค'๋ ๋ป์ด์์. Java์์๋ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๊ฐ ์
๋ ฅ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์๋ํ๋ ๊ฑธ ๋งํ์ฃ .
โข
๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ๋คํ์ฑ์ ๊ตฌํํ๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ ์ค ํ๋์
๋๋ค.
โข
์๋ฅผ ๋ค์ด, ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๊ฐ ์ ์๋ฅผ ๋ฐ๊ฑฐ๋, ์ค์๋ฅผ ๋ฐ๊ฑฐ๋, ๋ฐฐ์ด์ ๋ฐ๋ ๋ฑ ์ฌ๋ฌ ๋ฒ์ ์ด ์์ ์ ์์ด์.
2. ์ค๋ฒ๋ก๋(Overload)์ ์๋ฏธ์ ๋น์ [00:01:08]
โข
*์ค๋ฒ๋ก๋(Overload)**๋ ์๋ '์ง์ ์ฃ๋ค'๋ผ๋ ๋ป์ด์์.
โข
'์ค๋ฒ๋ก๋'๋ฅผ ์ง์ญํ๋ฉด '๊ณผ์ (์ง์ ๋๋ฌด ๋ง์ด ์ฃ๋ ๊ฒ)'์ด์ฃ .
โข
์์์์๋ ํธ๋ญ ์์ ์ง์ ํ๋์ฉ ์๋ ๋ชจ์ต์ผ๋ก ๋น์ ํ์ด์.
โข
์ด๊ฑธ ๋ฉ์๋์ ์ ์ฉํ๋ฉด, ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๊ฐ ์ฌ๋ฌ ๊ฐ ์์ฌ ์๋ ๊ฒ๊ณผ ๊ฐ์์.
โข
์ฆ, ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ๋งค๊ฐ๋ณ์(์
๋ ฅ๊ฐ)์ ํ์
, ๊ฐ์, ์์์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ ์ ์ํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
3. ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ์ค์ ์์ - ๋งค๊ฐ๋ณ์ ๋ค๋ฅด๊ฒ ์ ์ํ๊ธฐ [00:03:08]
โข
์์๋ก ํ์ ์ฑ์ ์ ์ฒ๋ฆฌํ๋ ๋ฉ์๋๋ฅผ ๋ง๋ค์์ด์.
โข
์ฑ์ ์ 2๊ฐ, 3๊ฐ ๋ฑ ๊ฐ์์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋ฐ์ ์ ์๋๋ก ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ํฉ๋๋ค.
โข
๋งค๊ฐ๋ณ์ ๊ฐ์๊ฐ ๋ค๋ฅด๋ฉด ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ง๋ค ์ ์์ด์.
โข
์ด๋ ๊ฒ ํ๋ฉด ์ํฉ์ ๋ง๊ฒ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ๋ค์ํ๊ฒ ์ฌ์ฉํ ์ ์๋ต๋๋ค.
4. ๋ฐฐ์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ด์ฉํ ์ค๋ฒ๋ก๋ฉ๊ณผ ๋ฐ๋ณต๋ฌธ ํ์ฉ [00:05:12]
โข
๋ ๋ง์ ์ฑ์ ์ ์ฒ๋ฆฌํ๊ณ ์ถ์ ๋๋ ๋ฐฐ์ด์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๋ ๋ฉ์๋๋ฅผ ๋ง๋ค์ด์.
โข
๋ฐฐ์ด ์์ ์ฌ๋ฌ ์ ์๊ฐ ๋ค์ด์์ผ๋ฉด ๋ฐ๋ณต๋ฌธ(for๋ฌธ ๋๋ foreach๋ฌธ)์ ์ฌ์ฉํด ํฉ๊ณ๋ฅผ ๊ตฌํ ์ ์์ด์.
โข
์๋ฅผ ๋ค์ด, ๋ฐฐ์ด์ 5๊ฐ์ ์ ์๊ฐ ์์ผ๋ฉด ๋ฐ๋ณต๋ฌธ์ผ๋ก ํ๋์ฉ ๋ํด์ ์ดํฉ์ ๊ตฌํ๊ณ , ๊ทธ๊ฑธ ์ ์ ๊ฐ์๋ก ๋๋๋ฉด ํ๊ท ์ด ๋์ค์ฃ .
โข
์ด๋ ๊ฒ ๋ฐฐ์ด์ ์ด์ฉํ๋ฉด ๋ฉ์๋ ํ๋๋ก ์ฌ๋ฌ ๊ฐ์ ์ ์๋ฅผ ์ฒ๋ฆฌํ ์ ์์ด ํธ๋ฆฌํด์.
5. ๋ฉ์ธ ๋ฉ์๋์์ ์ค๋ฒ๋ก๋ฉ ๋ฉ์๋ ํธ์ถํ๊ธฐ [00:07:00]
โข
๋ฉ์ธ ๋ฉ์๋์์ ์ค๋ฒ๋ก๋ฉ๋ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
โข
์๋ฅผ ๋ค์ด, ์ฑ์ 3๊ฐ๋ฅผ ๊ฐ๊ฐ ๋๊ธฐ๊ฑฐ๋, ๋ฐฐ์ด๋ก ํ ๋ฒ์ ๋๊ธธ ์๋ ์์ด์.
โข
๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋์ง๋ง, ์
๋ ฅ๊ฐ์ด ๋ค๋ฅด๋ฉด Java๊ฐ ์์์ ๋ง๋ ๋ฉ์๋๋ฅผ ์คํํด ์ค๋๋ค.
โข
์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋๋ฅผ ๋ ๊น๋ํ๊ณ ์ ์ฐํ๊ฒ ์์ฑํ ์ ์์ด์.
6. ๋ง๋ฌด๋ฆฌ ์ ๋ฆฌ [00:08:16]
โข
๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ๋งค๊ฐ๋ณ์์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ ์ ์ํ๋ ๊ฒ.
โข
์ด๋ฅผ ํตํด ์ฝ๋๊ฐ ๋ ๊น๋ํด์ง๊ณ , ๋ค์ํ ์
๋ ฅ๊ฐ์ ์ฒ๋ฆฌํ ์ ์์ด์.
โข
Java์ ๋คํ์ฑ ๊ฐ๋
์ ์ฝ๊ฒ ๊ตฌํํ๋ ์ค์ํ ๊ธฐ๋ฒ์
๋๋ค.
โข
์์์์ ์์๋ก ๋ณด์ฌ์ค ํ์ ์ฑ์ ์ฒ๋ฆฌ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ๋ฉด ์ดํด๊ฐ ์์ ๋ผ์!
๋ง๋ฌด๋ฆฌ ํ๋ง๋
๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ํ๋ก๊ทธ๋๋ฐ์์ '๊ฐ์ ์ด๋ฆ, ๋ค๋ฅธ ๊ธฐ๋ฅ'์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฉ์ง ๊ธฐ์ ์ด์์. ๋ง์น ํ ํธ๋ญ์ ๋ค์ํ ์ง์ ์๋ง๊ฒ ์ฃ๋ ๊ฒ์ฒ๋ผ, ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๊ฐ ๋ค์ํ ์
๋ ฅ๊ฐ์ ๋ฐ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ฃผ์ฃ . ์ด๋ฒ ์์์ผ๋ก Java ๋คํ์ฑ์ ํต์ฌ์ธ ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ์ฝ๊ณ ์ฌ๋ฏธ์๊ฒ ์ตํ์
จ๊ธธ ๋ฐ๋๋๋ค! ๋ค์์๋ ์ ์ฉํ ํ๋ก๊ทธ๋๋ฐ ํ์ผ๋ก ๋ง๋์~ 
