728x90

✅ 1. 변수 선언
Scala에서 val(불변 변수)과 var(가변 변수)를 사용해 변수를 선언하고 기본적으로 val을 쓰는 것을 권장합니다.
object Variable {
def main(args: Array[String]): Unit = {
val x: Int = 10 // 불변 변수 (변경 불가)
var y: Int = 20 // 가변 변수 (변경 가능)
y = 30 // O
// x = 40 // X (컴파일 오류)
println(s"x: $x, y: $y");
}
}
자료형은 생략이 가능합니다.
var name = "Alice"; // 가변 변수
var age = 25; // 가변 변수
✅ 2. 기본 자료형
스칼라는 자바 자료형을 그대로 사용하나 모두 객체입니다.
| 자료형 | 예시 값 | 설명 |
| Int | 10 | 정수 |
| Double | 3.14 | 실수 |
| Boolean | true | 논리형 |
| String | "hi" | 문자열 |
| Char | "a" | 문자 |
var a: Int = 100
var b: Double = 200.5
var c: String = "Hello Scala"
var d: Boolean = true
var e: Char = 'S'
✅ 3. 조건문
스칼라는 if-else를 표현식으로 사용이 가능합니다.
object Conditionals {
def main(args: Array[String]): Unit = {
val num = 10
if (num > 0) {
println("Positive number")
} else if (num < 0) {
println("Negative number")
} else {
println("Zero")
}
}
}
조건문이 값으로도 사용될 수 있습니다.
val result = if (num > 0) "positive" else "non-positive"
println(result) // positive
✅ 4. 반복문
- for문
object Loop {
def main(args: Array[String]): Unit = {
// 1. for loop
for (i <- 1 until 5) {
println(i); // 1, 2, 3, 4
}
}
}
- while문
object Loop {
def main(args: Array[String]): Unit = {
var j = 0
while (j < 5) {
println(j); // 0, 1, 2, 3, 4
j += 1
}
}
}
✅ 5. 함수 정의
스칼라는 함수도 값처럼 다른 형식입니다.
object Function {
def main(args: Array[String]): Unit = {
def add (x: Int , y: Int): Int = {
return x + y
}
// return skip
def sub(a: Int, b: Int): Int = a - b
println(add(3,5)) // 8
println(sub(20, 10)) // 10
}
}
매개변수, 반환타입도 생략이 가능합니다 (컴파일러가 추론함)
def greet(name: String) = s"Hello, $name!"
println(greet("Scala")) // Hello, Scala!
✅ 6. 입력과 출력
- 출력
println("Hello, Scala!") // prints to console
print("Hello ") // prints without newline
printf("Age: %d\n", 25) // formatted output
- 입력
스칼라는 scala.io.StdIn을 사용해 입력을 받습니다.
import scala.io.StdIn._
print("Enter your name: ")
val name = readLine() // reads a line from console
print("Enter your age: ")
val age = readInt() // reads an integer from console
println(s"name: $name, age: $age") // prints the input values
GitHub - Koras02/scala-bloging: https://thinky.tistory.com/category/Back-End/Scala
https://thinky.tistory.com/category/Back-End/Scala - Koras02/scala-bloging
github.com
728x90
LIST
'Back-End > Scala' 카테고리의 다른 글
| [Scala] 6장 - 에러 처리 (1) | 2025.08.18 |
|---|---|
| [Scala] 5장 - 패턴 매칭 & Case 클래스 (4) | 2025.08.14 |
| [Scala] 4장 - 함수형 프로그램 (FP) 패러다임 (0) | 2025.08.12 |
| [Scala] 3장 - 객체지향 프로그래밍(OOP) (1) | 2025.08.09 |
| [Scala] 1장 - Scala란? (3) | 2025.08.07 |