개발일지

240820(화) [함수]

게임 프로그래머 2024. 8. 20. 18:06

함수 - return

특정 상황에 함수의 로직이 더이상 실행되지 않았으면 하는 경우 사용

return 함수를 사용하면 해당 코드 밑에 사용된 로직은 동작하지 않는다.

 

함수 - return 과 반환 형식

함수 결과를 변수에 저장하려면 return 함수를 사용해야 한다.

return 함수 뒤에 저장하고 싶은 값을 적는다.

예) return 100;

 

예를 들어 보상으로 100포인트를 획득하는 함수를 작성하면

void GetPoint()
{
Console.Writeline("보상으로 100포인트를 획득합니다.")
return 100;
}

 

단 void 함수를 사용할때는 return 부분에 오류가 뜨는데

void 함수 특성(함수의 결과를 사용하지 않음) 때문이다.

 

따라서 void 함수를  return 함수에 사용된 자료형과 동일한 자료형으로 바꿔줘야 한다.

100이라는 정수를 사용하고 있으므로 int로 바꿔준다.

int GetPoint()
{
Console.Writeline("보상으로 100포인트를 획득합니다.")
return 100;
}

 

함수 - 매개변수

아래와 같이 실행할때마다 체력이 -1씩 감소하는 함수가 있다

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

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

 

그러나 1이 아닌 다른 데미지를 주고 싶을 경우 소괄호 안에 변수를 만들면된다.

 

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

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

 

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

 

attack(3)

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);
}


매개변수를 사용할경우 순서와 타입에 맞게 사용해야 한다.
DisplayMyInfo(10, "예시", "전사")


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