Attack 함수를 보면 실행할때마다 체력이 1씩 깍이고 있습니다.
void Attack()
{
if(hp < 1)
{
return;
}
--hp;
Console.Write("데미지 : 1 현재체력 : " + hp);
}
C#
복사
하지만 때로는 1이 아닌 다양한 데미지의 공격을 원할 수도 있습니다.
함수의 소괄호 ( ) 는 특수한 공간입니다.
이 소괄호 안에 변수를 하나 만들어보겠습니다. (변수를 만들기만 하고 초기화는 하지 않습니다.)
void Attack(int damage)
{
if(hp < 1)
{
return;
}
--hp;
Console.Write("데미지 : 1 현재체력 : " + hp);
}
C#
복사
데미지를 1로 고정하지 않고 damage 변수에 의해 동작하도록 수정합니다.
void Attack(int damage)
{
if(hp < 1)
{
return;
}
hp -= damage; <- 데미지 적용
Console.Write("데미지 : " + damage + " 현재체력 : " + hp);
}
C#
복사
함수를 실행할때 있는 소괄호 ( ) 에 방금만든 변수에 적용하고 싶은 값을 입력하면서 호출합니다.
실행할때마다 다른값을 입력할 수 있으며 그에따라 매번 다르게 동작합니다.
이렇게 중괄호에서 만들어져 실행할때마다 다르게 동작할수 있는 변수를 매개변수 라고 합니다.
여러 배개변수
매개변수는 한개만이 아닌 여러 매개변수를 만들 수 있습니다.
void DisplayMyInfo(int level, string name, string job)
{
Console.WriteLine("레벨 : " + level + "이름 : " + name + "직업 : " + job);
}
C#
복사
이때 매개변수 순서와 타입에 맞게 실행하여야 합니다.
주의사항
•
함수를 만들때 매개변수를 설정하였다면 함수 실행시 반드시 값을 입력하여야 합니다.
•
매개변수를 설정하지 않았다면 함수 실행할때 값을 입력 할 수 없습니다.
int hp = 5;
Attack(3); <- 에러!!
void Attack() <- 에러!!
{
...
}
C#
복사
int hp = 5;
Attack(); <- 에러!!
void Attack(int damage) <- 에러!!
{
...
}
C#
복사
•
매개변수와 입력하는 값의 타입이 같아야 합니다.