```
class Developer{
String name;
int career;
Developer(String n,int c){
this.name=n;
this.career=c;
}
String level(){
if(career<3)
return "초급";
else if (career<7)
return "중급";
else if(career>7)
return "고급";
else
return "잘못입력";
}
int salary(){
if(level()=="초급")
return 2800+(100*career);
else if(level()=="중급")
return 3500+(100*career);
else if(level()=="고급")
return 4500+(100*career);
return career; // <-이거를 안적어주면 오류가 뜨더라고요 type형태가 안맞는다고 return값은 다 int형인대 왜 에러가 뜨는거죠??
// 저걸 왜적어줘야하는지 모르겠지만 적으니깐 출력은 잘나왔어요 이유가 뭔가요??
}
}
```
sehongpark님의 답변
# if-else 구문
## 요약
level()의 결과값이 "잘못입력" 인경우를, salary() 내부의 조건식은 찾지 못합니다. 따라서 마지막 `return career;` 구문이 없으면 에러가 나게 됩니다.
## 보정
잘못된 입력이 없다라는 가정하에 다음과 같이 코드를 작성 할 수 있겠습니다.
```
String level(){
if(career<3)
return "초급";
else if (career<7)
return "중급";
else
return "고급";
}
int salary(){
if(level()=="초급")
return 2800+(100*career);
else if(level()=="중급")
return 3500+(100*career);
else
return 4500+(100*career);
}
```