Search

Java ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ

Java ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ!

์ด ์˜์ƒ์€ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œย ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ(Method Overloading)ย ๊ฐœ๋…์„ ์‰ฝ๊ณ  ์žฌ๋ฏธ์žˆ๊ฒŒ ์„ค๋ช…ํ•ด ์ค๋‹ˆ๋‹ค. ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์ด๋ž€ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜(์ž…๋ ฅ๊ฐ’)์˜ ํƒ€์ž…์ด๋‚˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๊ฐœ ์ •์˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ด์š”. ์ด๋ฅผ ํ†ตํ•ด ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” Java์˜ ๋‹คํ˜•์„ฑ(Polymorphism) ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋ž๋‹ˆ๋‹ค.

๋ชฉ์ฐจ

1.
๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ ์†Œ๊ฐœ์™€ ๋‹คํ˜•์„ฑ ๊ฐœ๋… [00:00:00]
2.
์˜ค๋ฒ„๋กœ๋“œ(Overload)์˜ ์˜๋ฏธ์™€ ๋น„์œ  [00:01:08]
3.
๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์˜ ์‹ค์ œ ์˜ˆ์‹œ - ๋งค๊ฐœ๋ณ€์ˆ˜ ๋‹ค๋ฅด๊ฒŒ ์ •์˜ํ•˜๊ธฐ [00:03:08]
4.
๋ฐฐ์—ด ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•œ ์˜ค๋ฒ„๋กœ๋”ฉ๊ณผ ๋ฐ˜๋ณต๋ฌธ ํ™œ์šฉ [00:05:12]
5.
๋ฉ”์ธ ๋ฉ”์†Œ๋“œ์—์„œ ์˜ค๋ฒ„๋กœ๋”ฉ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœํ•˜๊ธฐ [00:07:00]
6.
๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ [00:08:16]

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 ๋‹คํ˜•์„ฑ์˜ ํ•ต์‹ฌ์ธ ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์„ ์‰ฝ๊ณ  ์žฌ๋ฏธ์žˆ๊ฒŒ ์ตํžˆ์…จ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค! ๋‹ค์Œ์—๋„ ์œ ์šฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒ์œผ๋กœ ๋งŒ๋‚˜์š”~