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

Scala 기본 문법

Scala 기본 문법 — 초급

Scala 기본 문법

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

Scala는 자바 플랫폼에서 실행되는 현대적인 프로그래밍 언어로, 객체 지향과 함수형 프로그래밍의 장점을 결합하고 있습니다. 실무에서는 대규모 데이터 처리, 웹 애플리케이션, 그리고 분산 시스템에서 자주 사용됩니다. 이 언어를 배우면 코드의 재사용성과 유지보수성을 높일 수 있고, 데이터 처리의 효율성을 극대화할 수 있습니다.

반면, 기본 문법을 모르면 다음과 같은 문제가 생길 수 있습니다:

  • 코드 작성 시 오류를 유발할 수 있으며, 이는 프로그램의 비효율성과 불안정을 초래합니다.
  • 팀원과의 협업에서 의사소통의 어려움이 생길 수 있으며, 이는 프로젝트의 진행 속도를 느리게 합니다.
  • 2. 핵심 개념 설명

    Scala의 기본 문법은 다양한 개념으로 구성되어 있으며, 몇 가지 주요 개념을 살펴보겠습니다.

    변수 선언

  • 변수는 값을 저장하기 위한 메모리 공간입니다. Scala에서는 var과 val 키워드를 사용하여 변수를 선언합니다.
  • - var: 값을 변경할 수 있는 가변 변수 - val: 값을 변경할 수 없는 불변 변수

    비유: var는 언제든지 바꿀 수 있는 장바구니, val은 한 번 담은 후 바꿀 수 없는 금고와 같습니다.

    데이터 타입

    Scala는 강타입 언어로, 변수에 저장되는 값의 타입을 명시해야 합니다. 대표적인 데이터 타입은 다음과 같습니다:

    데이터 타입설명
    Int정수형
    Double실수형
    Boolean불리언 (참/거짓)
    String문자열

    3. 기본 코드 예제

    아래는 Scala에서 변수를 선언하고 사용하는 기본 예제입니다.

    // 가변 변수 선언
    var age: Int = 25 // 'age'라는 변수에 25를 할당
    // 불변 변수 선언
    val name: String = "Alice" // 'name'이라는 변수에 "Alice"를 할당
    
    // 변수 출력
    println("Name: " + name) // "Name: Alice" 출력
    println("Age: " + age)   // "Age: 25" 출력
    
    // 가변 변수의 값 변경
    age = 30 // 'age'의 값을 30으로 변경
    println("Updated Age: " + age) // "Updated Age: 30" 출력

    실행 결과

    Name: Alice
    Age: 25
    Updated Age: 30

    코드 한 줄씩 동작 설명

    1. var age: Int = 25: age라는 이름의 가변 변수를 정수형으로 선언하고 25를 할당합니다.
    2. val name: String = "Alice": name이라는 이름의 불변 변수를 문자열형으로 선언하고 "Alice"를 할당합니다.
    3. println("Name: " + name): name 변수를 출력합니다.
    4. println("Age: " + age): age 변수를 출력합니다.
    5. age = 30: age의 값을 30으로 변경합니다.
    6. println("Updated Age: " + age): 변경된 age 변수를 출력합니다.
    7. 4. 실전 활용 예제

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

      쇼핑몰에서 사용자가 장바구니에 상품을 추가할 때 사용하는 코드입니다.

      // 가변 리스트로 장바구니 생성
      var cart: List[String] = List()
      
      // 상품 추가 함수
      def addToCart(item: String): Unit = {
        cart = cart :+ item // 리스트에 상품 추가
        println(s"$item이 장바구니에 추가되었습니다.")
      }
      
      // 상품 추가
      addToCart("사과") // 사과가 장바구니에 추가되었습니다.
      addToCart("바나나") // 바나나가 장바구니에 추가되었습니다.
      
      // 장바구니 출력
      println("장바구니: " + cart.mkString(", ")) // 장바구니: 사과, 바나나

      예제 2: 사용자 정보 저장

      사용자 정보를 저장하는 애플리케이션에서 사용할 수 있는 코드입니다.

      // 사용자 정보 저장을 위한 클래스 정의
      case class User(name: String, age: Int)
      
      // 사용자 객체 생성
      val user1 = User("Bob", 28)
      println(s"사용자 이름: ${user1.name}, 나이: ${user1.age}") // 사용자 이름: Bob, 나이: 28

      5. 흔한 실수와 주의사항

      실수 1: 변수 타입 오류

      var age: Int = "25" // 오류: Type mismatch

      올바른 코드

      var age: Int = 25 // 정수형으로 올바르게 선언

      실수 2: 불변 변수 수정

      val name: String = "Alice"
      name = "Bob" // 오류: reassignment to val

      올바른 코드

      var name: String = "Alice" // 가변 변수로 선언하여 수정 가능
      name = "Bob"

      6. 정리

    8. Scala의 기본 문법은 변수 선언, 데이터 타입 등으로 구성됩니다.
    9. var과 val을 이해하는 것이 중요합니다.
    10. 코드 예제를 통해 실무에서의 활용을 명확히 할 수 있습니다.
    11. 다음에 학습하면 좋은 주제는 제어문과 함수입니다.