2016. 12. 12. 12:58ㆍC# 콘솔( Console )/메소드
1. 메소드 오버로딩 ( Method Overloading )
접근지정자 자료형 메소드명(매개변수1, 매개변수2) |
-> 메소드 오버라이딩이란 같은 명을 가진 메소드가 전달받은 매개변수의 자료형에 따라 호출이 달라지는 것을 말합니다.
-> 메소드의 명은 같더라도 메소드를 선언할 때 인자의 자료형을 다르게 선언하거나 자료형이 같다면 선언한 인자의 수를 다르게 하면됩니다.
-> C언어에서는 함수 오버로딩을 선언할 수 없었던 이유는 함수의 명만 가지고 호출을 하기 때문에 같은명의 함수를 선언하지 못하기 때문입니다.
ex)
static void Main(string[] args) { Console.WriteLine(Add(77, 7)); Console.WriteLine(Add(77.7, 7.7)); Console.WriteLine(Add(77, 7, 7)); } static int Add(int num1, int num2) { Console.WriteLine("int형 2개 인자"); return num1+num2; } static double Add(double num1, double num2) { Console.WriteLine("double형 2개 인자"); return num1 + num2; } static int Add(int num1, int num2, int num3) { Console.WriteLine("int형 3개 인자"); return num1 + num2 + num3; }
|
해설)
1. Console.WriteLine(Add(77, 7)); -> 메소드명이 Add이고, 인자의 자료형이 정수형인 메소드( static int Add(int num1, int num2) )를 호출합니다. -> num1의 값이 77, num2의 값이 7이고 return( 반환값 )이 num1 + num2이므로 77 + 7 = 84를 반환하게 됩니다. 2. Console.WriteLine(Add(77.7, 7.7)); -> 메소드명이 Add이고, 인자의 자료형이 실수형인 메소드( static double Add(double num1, double num2) )를 호출합니다. -> num1의 값이 77.7, num2의 값이 7.7이고 return( 반환값 )이 num1 + num2이므로 77.7 + 7.7 = 85.4를 반환하게 됩니다. 3. Console.WriteLine(Add(77, 7, 7)); -> 메소드명이 Add이고, 인자의 자료형이 정수형인 메소드( static double Add(int num1, int num2, int num3) )를 호출합니다. -> num1의 값이 77, num2와 num3의 값이 7이고 return( 반환값 )이 num1 + num2 + num3이므로 77 + 7 + 7 = 91를 반환하게 됩니다. |
'C# 콘솔( Console ) > 메소드' 카테고리의 다른 글
메소드를 이용한 Swap메소드 ( Call By Reference ) (0) | 2016.12.12 |
---|---|
메소드를 이용한 Swap메소드 ( Call By Value ) (0) | 2016.12.12 |
메소드 (0) | 2016.12.12 |