[C++] μ˜€λ²„λ‘œλ”©(Overloding)κ³Ό μ˜€λ²„λΌμ΄λ”©(Overriding)

2020. 5. 14. 18:41Β·πŸ“ Language/✏ C & C++

μ˜€λ²„λ‘œλ”©(Overloding)

μ˜€λ²„λ‘œλ”©μ΄λž€ ν•¨μˆ˜μ˜ 이름은 κ°™κ³  λ§€κ°œλ³€μˆ˜λ₯Ό λ‹€λ₯΄κ²Œ ν•¨μœΌλ‘œμ¨ 맀개 λ³€μˆ˜μ— 따라 λ‹€λ₯Έ ν•¨μˆ˜κ°€ μ‹€ν–‰λ˜λŠ” 것이닀.

int add(int a, int b) { return a + b; } // μ›ν•¨μˆ˜
float add(int a, int b) { return a + b; } // μ˜€λ²„λ‘œλ”© λΆˆκ°€λŠ₯
float add(int a, float b) { return a + b; } // μ˜€λ²„λ‘œλ”© κ°€λŠ₯

 

μ˜€λ²„λΌμ΄λ”©(Overriding)

μ˜€λ²„λΌμ΄λ”©μ΄λž€ λΆ€λͺ¨ ν΄λž˜μŠ€λ‘œλΆ€ν„° 상속받은 ν•¨μˆ˜λ₯Ό μž¬μ •μ˜ν•˜λŠ” 것이닀.

  • μžμ‹ κ°μ²΄μ—μ„œ μ˜€λ²„λΌμ΄λ”©ν•œ ν•¨μˆ˜λŠ” 호좜 μ‹œ λ¨Όμ € ν˜ΈμΆœλœλ‹€.
  • λ™μΌν•œ 리턴 κ°’, 이름, λ§€κ°œλ³€μˆ˜λ₯Ό κ°€μ Έμ•Ό ν•œλ‹€.
#include <iostream>
using namespace std;

class Drink {
public:
	virtual void Drinking() { cout << "Drink" << endl; }
};

class Soda : public Drink {
public:
	virtual void Drinking() { cout << "Soda" << endl; }
};

class Milk : public Drink {
public:
	virtual void Drinking() { cout << "Milk" << endl; }
};

int main()
{
	Drink* d = new Milk();
	d->Drinking();
}

// 좜λ ₯
// Milk
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)
'πŸ“ Language/✏ C & C++' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [C++] 정적(Static) 멀버 λ³€μˆ˜μ™€ ν•¨μˆ˜
  • [C++] 얕은 볡사(Shallow Copy)와 κΉŠμ€ 볡사(Deep Copy)
  • [C++] Call by value와 Call by reference
  • [C++] STL μ»¨ν…Œμ΄λ„ˆ(Containers)
Blxxming
Blxxming
CS 지식과 κ³΅λΆ€ν•˜λ‹€ 배운 것, κ²½ν—˜ν•œ 것 등을 κΈ°λ‘ν•˜λŠ” λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
  • Blxxming
    πŸ’‘λ²ˆλœ©πŸ’‘
    Blxxming
  • 전체
    였늘
    μ–΄μ œ
  • 곡지사항

    • Tech Interview
    • πŸ“š Tech (246)
      • πŸ“ Computer Science (96)
        • ✏ OS (12)
        • ✏ Network & Web (10)
        • ✏ Database (11)
        • ✏ Data Structure (6)
        • ✏ Algorithm (40)
        • ✏ Design Pattern (9)
        • ✏ Cloud Computing (3)
        • ✏ (5)
      • πŸ“ Language (73)
        • ✏ Language (6)
        • ✏ C & C++ (11)
        • ✏ C# (19)
        • ✏ JAVA (37)
      • πŸ“ Game (43)
        • ✏ Computer Graphics (2)
        • ✏ Unity (14)
        • ✏ Unreal (26)
        • ✏ (1)
      • πŸ“ Book (34)
        • ✏ Effective (3)
        • ✏ Game Server (16)
        • ✏ Clean Code (14)
        • ✏ (1)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.0
Blxxming
[C++] μ˜€λ²„λ‘œλ”©(Overloding)κ³Ό μ˜€λ²„λΌμ΄λ”©(Overriding)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”