Search

함수 - 매개변수

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#
복사
매개변수와 입력하는 값의 타입이 같아야 합니다.