C# 콘솔( Console )/메소드(4)
-
메소드 오버로딩 ( Method Overloading )
1. 메소드 오버로딩 ( Method Overloading ) 접근지정자 반환형식 메소드명(매개변수1, 매개변수2) { 메소드 실행문 } 접근지정자 자료형 메소드명(매개변수1, 매개변수2) { 메소드 실행문 } 접근지정자 자료형 메소드명(매개변수1, 매개변수2) { 메소드 실행문 } -> 메소드 오버라이딩이란 같은 명을 가진 메소드가 전달받은 매개변수의 자료형에 따라 호출이 달라지는 것을 말합니다. -> 메소드의 명은 같더라도 메소드를 선언할 때 인자의 자료형을 다르게 선언하거나 자료형이 같다면 선언한 인자의 수를 다르게 하면됩니다. -> C언어에서는 함수 오버로딩을 선언할 수 없었던 이유는 함수의 명만 가지고 호출을 하기 때문에 같은명의 함수를 선언하지 못하기 때문입니다. ex) static void ..
2016.12.12 -
메소드를 이용한 Swap메소드 ( Call By Reference )
1. Call By Reference ( 참조에의한 호출 ) swap(ref num1, ref num2); static void swap(ref int num1, ref int num2) { int num_swap = num1; num1 = num2; num2 = num_swap; } -> Call By Reference는 변수의 주소값을 메소드로 전달하기 때문에 메소드에서 스왑을 하게되면 메인문의 변수가 저장되어있는 주소의 값을 변경하게 되는 것입니다. 따라서, 매개변수를 스왑을 하게 되면 메인문의 변수의 값도 스왑이 일어나게 됩니다. -> 메소드를 선언할 때와 호출할 때 ref 키워드를 꼭 작성해주어야 합니다.
2016.12.12 -
메소드를 이용한 Swap메소드 ( Call By Value )
1. Call By Value 메소드명(매개변수1, 매개변수2); -> 메소드로 데이터를 넘겨줄 때 Call By Value는 변수의 값만 넘겨주는 역할을 합니다. 따라서, 메인문에서 int 형으로 선언된 num1, num2와 메소드로 넘겨준 매개변수는 별개로 작용하게 되는 것입니다. ex)에서처럼 코드를 작성하게 되면 메인문의 변수 num1과 num2의 값이 변경된 것이아니라 메소드로 전달한 매개변수의 값을 스왑하고 출력은 매개변수가 아닌 num1과 num2를 출력하게 됩니다. 따라서, 메인문의 변수는 스왑은 일어나지 않게 되는 것입니다. ex) static void Main(string[] args) { int num1 = 0, num2 = 0; Console.WriteLine("첫번째 숫자를 입력하..
2016.12.12 -
메소드
1. 메소드(Method) 접근지정자 반환형식 메소드명(매개변수) { 메소드 내용 } -> C, C++에서의 함수라고 생각하면 됩니다. -> 반환하는 값에 따라 메소드의 반환형은 int, double, float, void 등 바뀔 수 있습니다. void의 경우 반환할 값이 없는 경우 사용됩니다. -> 접근지정자는 public, private, protected을 선언할 수 있습니다. static void Main(string[] args) { int num1 = 0, num2 = 0; Console.WriteLine("첫번째 숫자를 입력하세요"); num1 = int.Parse(Console.ReadLine()); Console.WriteLine("두번째 숫자를 입력하세요"); num2 = int.Pa..
2016.12.12