Break는 해당 if문을 종료시킨다.
for(a in 1..100)
if(a>49) {
break
}
a가 50이 되는순간 if문은 종료된다.
Return은 해당 메소드가 호출된 곳까지 종료시킨다.
즉, if문을 포함한 메소드 자체를 종료.
fun hello() {
for (a in 1..100) if (a > 49) {
println("${a}")
return // return
}
for (b in 1..100) if (b > 50) println("${b}")
}
첫번째 for문에서 50만 출력하고, 함수는 곧바로 종료된다.
함수는 이미 종료되었기 때문에, 두번째 for문은 써보지도 못하고 끝나버리는 것이다.😂
여기서 만약 return이 아니라 break라면?
fun hello() {
for (a in 1..100) if (a > 49) {
println("${a}")
break // break
}
for (b in 1..100) if (b > 50) println("${b}")
}
첫번째 for문이 break로 끝나버렸어도, 두번째 for문이 남아있다.
결론적으로, 첫번째 for문의 50과 두번째 for문의 51부터 100까지가 출력될 수 있다.