목차
Method Overloading 정의
Method Overloading 예제
Method Overloading 정의
[정의]
오버로딩 (= 동일 메서드명으로 여러 메서드 정의) 가능 경우.
① 매개변수 개수 가 다른 경우.
② 매개변수 타입 이 다른 경우.
PS. 단지, 매개변수명만 다른 경우엔 메서드 오버로딩 불가.
[예제]
int MyMethod(int x)
// 개수 같아도 자료형 다른 경우, 오버로딩 가능 O.
float MyMethod(float x)
// 자료형 같지만 개수 다른 경우, 오버로딩 가능 O.
int MyMethod(int x, int y )
// 자료형과 개수 모두 다른 경우, 오버로딩 가능 O.
double MyMethod(double x, double y )
// 단지, 매개변수명만 다른 경우, 오버로딩 가능 X
int MyMethod(int y) // 에러 유발.
Method Overloading 예제
[오버로딩 사용 X 경우] - int형과 double형 함수를 각각 정의.
※ 비추천 방식.
using System;
namespace Homzzang
{
class Program
{
static int PlusInt (int x, int y)
{
return x + y;
}
static double PlusDouble (double x, double y)
{
return x + y;
}
static void Main(string[] args)
{
int a = PlusInt (3, 4);
double b = PlusDouble (2.41, 3.14);
Console.WriteLine("int: " + a);
Console.WriteLine("double: " + b);
}
}
}
결과값:
int: 7
double: 5.550000000000001
[오버로딩 사용 O 경우 ★] - int형과 double형 함수를 오버로딩.
※ 권장 방식.
using System;
namespace Homzzang
{
class Program
{
static int PlusNums (int x, int y)
{
return x + y;
}
static double PlusNums (double x, double y)
{
return x + y;
}
static void Main(string[] args)
{
int a = PlusNums (3, 4);
double b = PlusNums (2.41, 3.14);
Console.WriteLine("int: " + a);
Console.WriteLine("double: " + b);
}
}
}
결과값:
int: 7
double: 5.55
PS.
C#은 함수명을 Plus, plus 사용해도 무방하나,
C++ 경우, 함수명을 Plus, plus 사용 시 에러 발생.
주소 복사
랜덤 이동
최신댓글