IMCAT.DEV
로그인 가입
Scala 입문 문법

Scala 반복문 (for, while)

Scala 반복문 (for, while) — 초급

반복문 (for, while)

1. 도입 (왜 배워야 하는가)

프로그래밍에서 반복문은 특정 작업을 여러 번 수행해야 할 때 필수적인 도구입니다. 실무에서는 데이터 처리, 사용자 인터페이스 업데이트, 반복적인 계산 등을 위해 반복문을 사용합니다. 예를 들어, 쇼핑몰에서 여러 상품의 가격을 합산할 때, 반복문 없이 일일이 가격을 더하는 것은 비효율적이고 오류 가능성이 높습니다. 반복문을 사용하면 이러한 작업을 간편하고 효율적으로 처리할 수 있습니다. 반대로 반복문을 모른다면, 이러한 반복적인 작업을 수작업으로 처리해야 하므로 생산성이 떨어지고, 코드가 복잡해져 유지보수도 힘들어집니다.

2. 핵심 개념 설명

for 문

for 문은 주어진 범위 또는 컬렉션의 요소를 순회하며 코드 블록을 실행하는 반복문입니다. 마치 학교에서 선생님이 학생들에게 질문을 던지며 한 명씩 답변을 받는 것과 유사합니다.

while 문

while 문은 주어진 조건이 참인 동안 코드를 반복 실행합니다. 이는 마치 일정한 조건이 충족될 때까지 계속해서 문을 두드리는 것과 같습니다.
반복문 종류설명
for주어진 범위 또는 컬렉션의 요소를 순회
while조건이 참인 동안 계속 반복

3. 기본 코드 예제

for 문 예제

// 1부터 5까지의 숫자를 출력하는 for 문
for (i <- 1 to 5) {
  println(i)
}

실행 결과

1
2
3
4
5

코드 동작 설명

  1. for (i <- 1 to 5) : 1부터 5까지의 숫자를 i에 대입하여 반복합니다.
  2. println(i) : 현재 i 값을 출력합니다.
  3. while 문 예제

    // 1부터 5까지의 숫자를 출력하는 while 문
    var i = 1
    while (i <= 5) {
      println(i)
      i += 1 // i를 1씩 증가시킵니다.
    }

    실행 결과

    1
    2
    3
    4
    5

    코드 동작 설명

  4. var i = 1 : i를 1로 초기화합니다.
  5. while (i <= 5) : i가 5 이하인 동안 반복합니다.
  6. println(i) : 현재 i 값을 출력합니다.
  7. i += 1 : i를 1씩 증가시킵니다.
  8. 4. 실전 활용 예제

    예제 1: 쇼핑몰 장바구니 구현

    쇼핑몰에서 장바구니에 담긴 상품의 총 가격을 계산할 때 for 문을 사용할 수 있습니다.

    val prices = List(10000, 20000, 30000, 40000) // 상품 가격 목록
    var total = 0
    
    for (price <- prices) {
      total += price // 각 상품의 가격을 총 가격에 더합니다.
    }
    println(s"총 가격: $total 원")

    실행 결과

    총 가격: 100000 원

    예제 2: 사용자 입력 처리

    사용자로부터 입력 받은 숫자의 합을 구할 때 while 문을 사용할 수 있습니다.

    var sum = 0
    var number = 0
    
    while (number != -1) {
      println("숫자를 입력하세요 (-1 입력 시 종료): ")
      number = scala.io.StdIn.readInt() // 사용자로부터 입력 받기
      sum += number // 입력된 숫자를 합산합니다.
    }
    
    println(s"입력된 숫자의 총합: ${sum + 1} (종료 시 -1을 포함하지 않음)")

    실행 결과

    숫자를 입력하세요 (-1 입력 시 종료): 
    10
    숫자를 입력하세요 (-1 입력 시 종료):
    20
    숫자를 입력하세요 (-1 입력 시 종료):
    -1
    입력된 숫자의 총합: 30 (종료 시 -1을 포함하지 않음)

    5. 흔한 실수와 주의사항

    실수 1: 범위 설정 오류

    // 잘못된 예
    for (i <- 1 until 5) {
      println(i) // 1, 2, 3, 4만 출력
    }
    • 올바른 예
    • for (i <- 1 to 5) {
        println(i) // 1, 2, 3, 4, 5 출력
      }

      실수 2: 무한 루프

      // 잘못된 예
      var i = 1
      while (i < 5) {
        println(i) // 무한 루프에 빠짐
      }
    • 올바른 예
    • var i = 1
      while (i <= 5) {
        println(i)
        i += 1 // i를 증가시켜 루프 종료
      }

      6. 정리

    • 반복문은 특정 작업을 반복 수행하는 데 필수적입니다.
    • for 문은 범위 또는 컬렉션을 순회하는 데 사용되며, while 문은 조건이 참일 때 반복합니다.
    • 실무에서 자주 사용되는 패턴으로는 총합 계산, 사용자 입력 처리 등이 있습니다.
    • 다음에 학습하면 좋은 주제로는 재귀 함수와 함수형 프로그래밍이 있습니다.