728x90
1. 메서드 오버로딩(Method Overloading)
데이터 타입이 다른 경우, 함수 이름이 같더라도 사용할 수 있다.
→ 컴파일러가 매개 변수의 형식과 개수를 분석하여 어떤 함수를 호출할 지 찾아낸다.
public void Load(int num, bool loading = false)
{
Load(1.2);
}
public void Load(double num, bool loading = false)
{
...
}
2. 디폴트 매개변수(Default Parameter)
기본값이 제공된 매개변수
- 기본값 설정한 경우(디폴트 매개변수)
//파라미터에 기본값 설정
public void Load1(int num, bool loading = false)
{
...
}
Load1(1) //에러 X
Load1(1, true) //에러 X
- loading은 값을 전달받지 못해도 기본값(false)을 사용한다.
→ Load1(1)처럼 loading에 대한 값을 지정하지 않아도 에러가 나지 않는다.
- Load1(1, true)처럼 loading 기본값(false)이 아닌 다른 값(true)을 설정할 수 있다.
→ 다른 값을 설정하는 경우가 적을 때 활용한다.
디폴트 매개변수를 활용하면 함수 호출 시 전달할 인수의 수를 유연하게 설정할 수 있다.
- 기본값 설정하지 않은 경우
//파라미터에 기본값 설정 X
public void Load2(int num, bool loading)
{
...
}
Load2(1) //에러
Load2(1, false)
- Load2(1)은 두 번째 매개변수의 값을 특정할 수 없기 때문에 에러가 발생한다.
728x90
반응형
'개발 공부 > C# 기초' 카테고리의 다른 글
[C# 기초] 자료형(값 형, 참조형), 메모리 구조(코드, 데이터, 스택, 힙) (0) | 2023.01.17 |
---|---|
[C# 기초] List 값 출력(for문, foreach문) (0) | 2022.11.22 |
[C# 기초] ExpandoObject(인스턴스 생성/속성, 메서드, 이벤트 추가) (0) | 2022.10.14 |
[C# 기초] 컴파일(Compile), 런타임(Run time) (0) | 2022.10.14 |
[C# 기초] #region, #endregion (0) | 2022.10.14 |