목차
매개변수 vs. 독립변수(= 인수)
매개변수 기본값 (= 선택적 매개변수)
여러 매개변수
return 키워드 - 함수 값 반환
명명된 독립변수
매개변수 vs. 독립변수(= 인수)
[매개변수]
1.
사용자로부터 데이터 받는 입구로서, 함수 안에서 사용하는 변수.
(예) int add(int x, int y ) {...}
2.
원하는 만큼 쉼표로 연결해 나열 가능하며,
매개변수 각각에 대해 자료형 지정해야 함.
(예) int add(int x, int y, int z, .... ) {...}
3.
독립변수 (인수)가 전달 안 될 경우 대비해 기본값 지정 가능.
※ 독립변수가 전달 안 된 경우, 매개변수 기본값이 사용됨.
※ 기본값 갖는 매개변수를 「선택적 매개변수」라 함.
[독립변수 (= 인수)]
1.
함수 호출 시, 함수로 실제 전달되는 데이터. (예) add(3, 4 );
2.
선언된 매개변수 자료형에 맞는 독립변수를 전달해야 함.
[예제1] 함수가 반환값 갖는 경우.
using System;
namespace Homzzang
{
class Program
{
static int add(int x, int y)
{
return x + y;
}
static void Main(string[] args)
{
Console.WriteLine(add(3, 4));
}
}
}
결과값: 7
[예제2] 함수가 반환값 없이 실행만 하는 경우.
using System;
namespace Homzzang
{
class Program
{
static void StudyCode(string code)
{
Console.WriteLine(code + " 공부");
}
static void Main(string[] args)
{
StudyCode("HTML");
StudyCode("CSS");
StudyCode("JS");
}
}
}
결과값:
HTML 공부
CSS 공부
JS 공부
매개변수 기본값 (= 선택적 매개변수)
1.
= 연산자 사용해 매개변수 기본값 지정 가능.
2.
매개변수 자료형에 맞는 값을 사용해야 함.
3.
선택적 매개변수 : 기본값 갖는 매개변수.
[예제]
using System;
namespace Homzzang
{
class Program
{
static void StudyCode(string code = "C#")
{
Console.WriteLine(code + " 공부");
}
static void Main(string[] args)
{
StudyCode("HTML");
StudyCode("CSS");
StudyCode("JS");
StudyCode(); // C# 공부
}
}
}
결과값:
HTML 공부
CSS 공부
JS 공부
C# 공부
여러 매개변수
1.
쉼표(,) 이용해 원하는 만큼 매개변수 나열 가능.
2.
각각의 매개변수는 자료형 지정 해야 함.
3.
함수 호출 시 독립변수(인수)는 매개변수와 동일 개수와 순서로 함수로 전달돼야 함.
[예제] 기본값 갖는 매개변수 2개 사용.
using System;
namespace Homzzang
{
class Program
{
static void StudyCode(string code = "C#", int tuition = 10000)
{
Console.WriteLine(code + " 과외 - " + tuition + "원");
}
static void Main(string[] args)
{
StudyCode("HTML", 10000);
StudyCode("CSS", 20000);
StudyCode("JS", 30000);
StudyCode(); // C# 과외 - 10000원
}
}
}
결과값:
HTML 과외 - 10000원
CSS 과외 - 20000원
JS 과외 - 30000원
C# 과외 - 10000원
return 키워드 - 함수 값 반환
함수가 값을 반환하도록 하려면,
함수 선언 시 void 대신 자료형 (예: string, int 등) 기재 해야 하며,
return 키워드를 이용해 값을 반환.
[예제1] 매개변수 1개인 경우
using System;
namespace Homzzang
{
class Program
{
static int Add(int x)
{
return 4 + x;
}
static void Main(string[] args)
{
Console.WriteLine(Add(3)); // 7
}
}
}
결과값: 7
[예제2] 매개변수 2개인 경우
using System;
namespace Homzzang
{
class Program
{
static int Add(int x, int y)
{
return x + y;
}
static void Main(string[] args)
{
Console.WriteLine(Add(3, 4)); // 7
}
}
}
결과값: 7
[예제3] 반환값을 변수에 저장
using System;
namespace Homzzang
{
class Program
{
static int Add(int x, int y)
{
return x + y;
}
static void Main(string[] args)
{
int z = Add(3, 4);
Console.WriteLine(z); // 7
}
}
}
결과값: 7
[예제4] 사용자 입력값 받아 더하기 (※ 사용자 입력값 받기 )
using System;
namespace Homzzang
{
class Program
{
static int Add(int x, int y)
{
return x + y;
}
static void Main(string[] args)
{
int x, y, sum;
Console.WriteLine("숫자 입력:");
x = Convert.ToInt32 (Console.ReadLine());
Console.WriteLine("숫자 입력:");
y = Convert.ToInt32(Console.ReadLine());
sum = Add(x, y);
Console.WriteLine(sum);
}
}
}
결과값: 사용자 입력값에 따라 다름.
명명된 독립변수
1.
key :value 쌍으로 전달하는 독립변수.
2. 장점.
① 독립변수를 순서대로 전달할 필요 없음. (예1)
② 선택적 매개변수 여럿일 때, 독립변수 하나만 전달 시 유용. (예2)
[예제1] 명명된 독립변수는 순서 무시해도 됨.
using System;
namespace Homzzang
{
class Program
{
static void Member(string id, string name, int age)
{
Console.WriteLine(id + " (" + name + ", " + age + ")");
}
static void Main(string[] args)
{
Member(age: 18, id: "sinbi", name: "신비");
}
}
}
결과값: sinbi (신비, 18)
[예제2] 기본값 갖는 매개변수 여럿일 때, 1개만 지정 시 특히 유용.
using System;
namespace Homzzang
{
class Program
{
static void Member(string id = "sinbi", string name = "신비", int age = 18)
{
Console.WriteLine(id + " (" + name + ", " + age + ")");
}
static void Main(string[] args)
{
Member(age:36);
}
}
}
결과값: sinbi (신비, 36)
주소 복사
랜덤 이동
최신댓글