인프런 커뮤니티 질문&답변

높으면백두산님의 프로필 이미지
높으면백두산

작성한 질문수

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

6강. 코틀린에서 반복문을 다루는 방법

stop, down to 함수질문

작성

·

179

1

stop, down to 가 함수라고 설명해주셨는데, 큰 범위의 수를 도는 반복문에 stop, down to 가 호출되면 스택오브플로우와같은 에러가 발생하지 않는 이유는 무엇인가요..?

답변 1

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요~ 높은면백두산님!! 좋은 질문이시네요~ :)

이 역시 글로 작성할 수 있어서 바로 말씀드리겠습니다!

 

결론부터 말씀드리면

step / down 같은 함수는 for (   ) 에서 소괄호 사이에 있고, 소괄호 안에 있는 함수는 1번만 호출되기 때문입니다!

fun main() {
  for (i in returnList()) {
    println(i)
  }
}

fun returnList(): List<Int> {
  println("숫자를 반환합니다")
  return listOf(1, 2, 3)
}

 

 

다음과 같은 코드가 있다고 했을 때, main 함수를 실행시켜 보시면 "숫자를 반환합니다"가 한 번만 호출될거에요!!

그리고 사실, for 문 안에서 함수가 여러번 불리더라도 JVM 위에서 동작하는 Kotlin은 JVM이 알아서 메모리 정리를 해주기 때문에 무한 루프가 도는게 아니라면, stack over flow가 나지 않을 수 있습니다!

감사합니다!!!

높으면백두산님의 프로필 이미지
높으면백두산

작성한 질문수

질문하기