오버라이드(Override), 오버로드 (Overload)
2021. 6. 17. 22:12
728x90
[ 오버라이드 ]
오버라이드(Override) : 무시하다. 상위메서드를 무시하고 하위에서 재정의 하는 것.
- 대상 : class의 메서드, 속성, 인덱서, 이벤트
- 사용 형식 : 상위 class에 "virtual" 명시, 하위 class에 "override" 명시
- 상속과 연관이 있음
class A {
//하위 class에서 재정의할거면 외부에서 접근 가능한 public으로 선언해야함
public virtual void Print(){
...
}
}
class B : A {
public override void Print(){
...
}
}
class C {
class A 호출 //class B가 A를 재정의했기 때문에, A 호출하는 건 B를 호출하는 것과 같음.
}
[ 오버로드 ]
오버로드(Overload) : 과부하.과적하다. 1개의 메서드명에 다양한 매개변수를 적용하는 것.
- 오버로드는 상속과 관계없지만, 상속 관계에서도 충분히 사용할 수 있음
- 메서드명만 동일하면 되고, 매개변수는 임의로 변경하는 방식
- 추후에 메서드 호출 시, 매개변수 세팅한 상태에 맞게 호출해줘야함
class A{
public void Print() {...} // 메서드 생성자
public void Print(int number) {...} //오버로드1
public void Print(int num, string strPara) {...} //오버로드2
}
728x90
'C# > C# 문법' 카테고리의 다른 글
속성(Property) (0) | 2021.06.17 |
---|---|
다형성 (Polymorphism) (0) | 2021.06.17 |
상속(Inheritance), 추상클래스(Abstract Class) (0) | 2021.06.17 |
파일 입출력 (0) | 2021.06.15 |
예외 처리문 (0) | 2021.06.15 |