Unity_본캠프

[내일배움캠프 22일차] 뭐라고요 string이 반환이 된다고

티백고래 2025. 5. 8. 23:53

1. 오늘의 할 일

팀프로젝트가 잡혔으면 할 일

: 일단 할 일부터 정하고 어디서부터 시작해야할 지 확인해봅시다.

즉, 오늘은 대부분 업무를 정하고 컨셉을 잡는데 집중했다.

 

2. 오늘의 학습

그럼 오늘 학습한 내용이 없는가? 하면

아니다! 있다!

오늘의 강의는 수준별 학습. 기본적으로 아는 내용을 진행했지만, 생각지도 못한 곳에서 소득이 있었다.

 

그것은 함수의 '반환형'이다.

사실 기본적으로 알고 있던 게 없진 않다. void...(이것만 아셨나요?)(네...)

아무것도 없을 때 쓰는 것이며, 대부분의 기능 제작 상황에서 사용했다.

bool도 대충 쓸 수 있다는 건 알고있었다.

 

int까지 쓸 수 있을 줄은 생각도 못했다.......int..반환이 되는 거였군요! 아하!

뭐라고요 string도 된다고요?

 

public int Set()
{
  return 5;
}
//이 경우 Set() 은 5로 반환된다.


//반환되는 것=에너미가 플레이어보다 얼마나 강한지
public string Strong(float playerSTR, float enemySTR)
{
  if(playerSTR>enemySTR*2)
  {
    return "Weakest";
  }
  else if(playerSTR >= enemySTR 1.5 && playerSTR<= enemySTR*2) 
  //위에서 1차로 비교되므로 뒤의 비교는 필요없을 수 있음
  {
   return "Weak";
  }
  else if(playerSTR >= enemySTR)
  {
   return "normal";
  }
  else if (playerSTR < enemySTR)
  {
   return "strong"
  }
  else
  {
    return "Awful";
  }
}

// 이렇게 해두면 몬스터의 조건에 따라 원하는 값이 리턴될 수 있다!

 

 

즉, 이렇게, 내가 원하는 조건에 따라서 리턴값으로 반환시킬 수 있고,  이 값을 이후에 깔끔하게 적용할 수 있다.

=해당 함수를 사용하는 이유가 반드시 "특정한 값"을 토해내게 만들기 위함이라면 굳이 void로 만들 필요 없이 반환형을 지정해주면 좋다.

 

추상클래스도 List도 Dictionary도 쓰면서 이걸 모르고 살았다. (나도 놀랍다)

 

장점: 굳이 내부에서 지역변수 선언 result = a+b+c; 할 필요 없이 return 으로 만들어줄 수 있다.

내부에서 열심히 계산 구하는 식을 쓸 필요가 없다. (진짜)

 

단점: 특정한 반환값만 내뱉기 때문에, 반대로 해당 반환값이 없으면 오류가 난다. (가령, bool로 함수를 만들면 return true;와 return false; 를 하나씩 만들어 줘야한다.)

 

하지만 제대로 쓸 줄 알면 여러모로 도움이 되는 것은 사실이다. 함수 = 대충 void쓰고 함수이름쓰고 () 치면 되는 그거. 에서 반환형을 쓸 수 있는 개발자가 된 것이다.

 

3. 내일의 할 일

 

우리 함께 멋진 게임을 만들어볼까요? (슈 라면가게 톤)

이번 팀프로젝트에서는 퍼즐 게임을 만들어볼 예정이다. 첫날에 그래픽 디자인부터 어떤 컨셉의 게임으로 만들 것인지 상의가 끝났다.

제대로 된 제작은 내일부터 시작. 이번에는 게임 오브젝트를 맡기로 했다.

파이팅 ( ' ')9