Search

λ©”μ†Œλ“œ μ˜€λ²„λ‘œλ”©

λ©”μ†Œλ“œ μ˜€λ²„λ‘œλ”©

λ©”μ†Œλ“œ μ€‘λ³΅μ •μ˜
ν•œ 클래슀 λ‚΄μ—μ„œ 이름은 κ°™μ§€λ§Œ, λ§€κ°œλ³€μˆ˜μ˜ β€˜νƒ€μž…/개수/μˆœμ„œβ€™ κ°€ μ„œλ‘œ λ‹€λ₯Έ λ©”μ†Œλ“œλ₯Ό μž‘μ„±ν•˜λŠ” 것

λ©”μ†Œλ“œ μ˜€λ²„λ‘œλ”©κ³Ό λ‹€ν˜•μ„±

λ©”μ†Œλ“œ μ˜€λ²„λ‘œλ”©μ€ 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ˜ λ‹€ν˜•μ„±(Polymorphism)을 κ΅¬ν˜„ν•˜λŠ” 방법 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€.
같은 μ΄λ¦„μ˜ λ©”μ†Œλ“œκ°€ λ‹€μ–‘ν•œ λ§€κ°œλ³€μˆ˜μ— 따라 λ‹€λ₯΄κ²Œ λ™μž‘ν•  수 있게 ν•©λ‹ˆλ‹€.
μ‚¬μš©μž μž…μž₯μ—μ„œλŠ” λ™μΌν•œ κΈ°λŠ₯을 ν•˜λŠ” λ©”μ†Œλ“œλ₯Ό ν•˜λ‚˜μ˜ μ΄λ¦„μœΌλ‘œ μΌκ΄€λ˜κ²Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ©”μ†Œλ“œ μ˜€λ²„λ‘œλ”©μ˜ νŠΉμ§•

β€’
λ©”μ†Œλ“œ 이름은 동일해야 ν•©λ‹ˆλ‹€.
β€’
λ§€κ°œλ³€μˆ˜μ˜ νƒ€μž…, 개수, μˆœμ„œ 쀑 ν•˜λ‚˜ 이상이 달라야 ν•©λ‹ˆλ‹€.
β€’
λ°˜ν™˜ νƒ€μž…λ§Œ λ‹€λ₯Έ κ²½μš°λŠ” μ˜€λ²„λ‘œλ”©μœΌλ‘œ μΈμ •λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
β€’
μ ‘κ·Ό μ œμ–΄μžλŠ” μ˜€λ²„λ‘œλ”©κ³Ό 관련이 μ—†μŠ΅λ‹ˆλ‹€.

λ©”μ†Œλ“œ μ˜€λ²„λ‘œλ”©μ˜ 문법

class Calculator { // μ •μˆ˜ λ§μ…ˆ int add(int a, int b) { return a + b; } // μ‹€μˆ˜ λ§μ…ˆ double add(double a, double b) { return a + b; } // μ„Έ 개의 μ •μˆ˜ λ§μ…ˆ int add(int a, int b, int c) { return a + b + c; } // λ¬Έμžμ—΄ κ²°ν•© String add(String a, String b) { return a + b; } }
Java
볡사
μœ„ μ˜ˆμ œμ—μ„œ add() λ©”μ†Œλ“œλŠ” λ§€κ°œλ³€μˆ˜μ˜ νƒ€μž…κ³Ό κ°œμˆ˜μ— 따라 λ‹€μ–‘ν•˜κ²Œ μ˜€λ²„λ‘œλ”©λ˜μ—ˆμŠ΅λ‹ˆλ‹€.