● 오버로딩(overloading)
- 동일한 메서드 이름을 가지고 있지만, 매개변수의 개수, 타입 또는 순서가 다른 여러개의 메서드를 정의하는 것
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
public int Add(int a, int b, int c)
{
return a + b + c;
}
}
Calculator calc = new Calculator();
int result1 = calc.Add(2, 3); // 5
int result2 = calc.Add(2, 3, 4); // 9
● 오버라이딩(overriding)
- 부모 클래스에서 이미 정의된 메서드를 자식 클래스에서 재정의 하는 것을 의미 (virtual, abstract)
- 가상 메서드(virtual), 추상 메서드(abstract), override 사용
public class Shape
{
public virtual void Draw()
{
Console.WriteLine("Drawing a shape.");
}
}
public class Circle : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a circle.");
}
}
public class Rectangle : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a rectangle.");
}
}
Shape shape1 = new Circle();
Shape shape2 = new Rectangle();
shape1.Draw(); // Drawing a circle.
shape2.Draw(); // Drawing a rectangle.
'C#' 카테고리의 다른 글
out, ref 키워드 (0) | 2023.11.08 |
---|---|
제너릭 (0) | 2023.11.08 |
가상 메서드 (Virtual), 추상 메서드(Abstract) (2) | 2023.11.08 |
프로퍼티 (Property) (0) | 2023.11.08 |
접근 제한자 (public, private, protected) (0) | 2023.11.08 |