Search

자주하는 실수들 - if 문과 return 값

if문에서 누락되는 return

체력이 0 미만일때 200 포인트를 얻는 코드를 만들어 보겠습니다.
int hp = 5; int GetPoint() { if(hp < 1) { return 200; } 에러 발생! }
C#
복사
반환타입과 return 결과의 타입을 맞췄는데도 에러가 발생하는 것을 볼 수 있습니다.
이는 hp 가 0미만이라면 return 200 이 실행 되지만
hp 가 1이상이라면 return 하는 부분이 없어서 그렇습니다.
따라서 if 문 조건이 안되더라도 기본적으로 실행될 return 을 준비해두어야 합니다.
int hp = 5; int GetPoint() { if(hp < 1) { return 200; } return 0; <- 기본 return 값 설정 }
C#
복사

여러 return 의 결과물 타입

각 return 의 타입은 같아야 합니다.