[Unity]/[C#]

[C#] 오버라이딩과 오버로딩

극꼼 2022. 5. 22. 15:34
반응형


오버라이딩(Overriding) : 상위 클래스의 메서드를 하위 클래스가 재정의해서 사용하는 것.

오버로딩(Overloading) : 같은 메서드 이름으로 매개변수에 차이를 두는 것.

* 예시)

1) 오버라이딩

abstract public class Parent
{
    public string name;
    public int attack;
    abstract public void InputInfo();
}


class Children : Parent
{
    override public void InputInfo()
    {
        name = "jj";
        attack = 10;
    }
}

class Call
{
    static void Main(string[] args)
    {
        Children ch = new Children();
        ch.InputInfo();
        Console.WriteLine(ch.name);
        Console.WriteLine(ch.attack);
        for (; ; );
    }
}

 

 

2) 오버로딩

public class Calculate
{
    public Calculate()
    {
        Console.WriteLine("매개변수 없음");
    }
    public Calculate(int _x, int _y)
    {
        int plus = _x + _y;
        Console.WriteLine(plus);
    }
    public Calculate(int _x)
    {
        Console.WriteLine(_x);
    }
}

class Call
{
    static void Main(string[] args)
    {
        Calculate c = new Calculate();
        Calculate c1 = new Calculate(1,4);
        Calculate c2 = new Calculate(2);
        for (; ; );
    }
}

 

반응형

'[Unity] > [C#]' 카테고리의 다른 글

[C#] try-catch 예외처리  (2) 2022.09.16
[C#] string 출력 방법(feat. Console.Write)  (0) 2022.06.02
[C#] delegate와 event의 차이  (0) 2022.05.18
[C#] 구조체(struct)  (0) 2022.05.16
[C#] 인터페이스  (0) 2022.05.15