``` 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형인대 왜 에러가 뜨는거죠?? // 저걸 왜적어줘야하는지 모르겠지만 적으니깐 출력은 잘나왔어요 이유가 뭔가요?? } } ```
# 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); } ```