C#/함수

[C#] 함수 - 매개변수

테크러너 2024. 3. 27.

매개변수란?

Attack 함수를 보면 실행할때마다 체력이 1씩 깍이고 있습니다.

void Attack()
{
		if(hp < 1)
		{
		    return;
		}

		--hp;
		Console.Write("데미지 : 1    현재체력 : " + hp);
}
 

하지만 때로는 1이 아닌 다양한 데미지의 공격을 원할 수도 있습니다.

 

함수의 소괄호 ( ) 는 특수한 공간입니다.

이 소괄호 안에 변수를 하나 만들어보겠습니다. (변수를 만들기만 하고 초기화는 하지 않습니다.)

void Attack(int damage)
{
		if(hp < 1)
		{
		    return;
		}

		--hp;
		Console.Write("데미지 : 1    현재체력 : " + hp);
}
 

 

데미지를 1로 고정하지 않고 damage 변수에 의해 동작하도록 수정합니다.

void Attack(int damage)
{
		if(hp < 1)
		{
		    return;
		}

		hp -= damage; <- 데미지 적용
		Console.Write("데미지 : " + damage + "    현재체력 : " + hp);
}
 

함수를 실행할때 있는 소괄호 ( ) 에 방금만든 변수에 적용하고 싶은 값을 입력하면서 호출합니다.

실행할때마다 다른값을 입력할 수 있으며 그에따라 매번 다르게 동작합니다.

이렇게 중괄호에서 만들어져 실행할때마다 다르게 동작할수 있는 변수를 매개변수 라고 합니다.

 

 

여러 배개변수

매개변수는 한개만이 아닌 여러 매개변수를 만들 수 있습니다.

void DisplayMyInfo(int level, string name, string job)
{
		Console.WriteLine("레벨 : " + level + "이름 : " + name + "직업 : " + job);
}
 

이때 매개변수 순서와 타입에 맞게 실행하여야 합니다.

 

 

주의사항

  • 함수를 만들때 매개변수를 설정하였다면 함수 실행시 반드시 값을 입력하여야 합니다.
  • 매개변수를 설정하지 않았다면 함수 실행할때 값을 입력 할 수 없습니다.
int hp = 5;

Attack(3);    <- 에러!!

void Attack() <- 에러!!
{
		...
}
 
int hp = 5;

Attack();               <- 에러!!

void Attack(int damage) <- 에러!!
{
		...
}
 
  • 매개변수와 입력하는 값의 타입이 같아야 합니다.

 

 

반응형

'C# > 함수' 카테고리의 다른 글

[C#] 네이밍 규칙 - 코딩 스탠다드  (0) 2024.03.27
[C#] 함수 - 여러 매개변수  (0) 2024.03.27
[C#] 함수 - return 과 반환 형식  (0) 2024.03.27
[C#] 함수 - return  (0) 2024.03.27
[C#] 함수 - 기본  (0) 2024.03.27

댓글