์ค์นผ๋ผ์ ๋ง
์ค์นผ๋ผ ํน์ง
์ ์ ํ์
๊ตฌ๋ฌธ ๊ฐ๊ฒฐํ๋ฉฐ ์ฝ๊ธฐ ์ฌ์
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ณผ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์ ์ง์
์ ๊ตํ ์ ํ ์ถ๋ก ์์คํ
?
JVM์์ ์คํ๋๋ ํด๋์คํ์ผ ์์ฑ
์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ ์ฌ์
Hello, World
Hello.scala
object Hello expends App {
println("Hello, World")
}
๋ ๊ฐ์ง ์ ํ์ ๋ณ์
val : ๋ถ๋ณ ๋ณ์ - ์๋ฐ์์ final๊ณผ ๊ฐ์
var : ๊ฐ๋ณ ๋ณ์ - ํน๋ณํ ์ด์ ๊ฐ ์์ ๋๋ง ์ฌ์ฉ
๋ณ์ ์ ํ ์ ์ธ
์ ํ์ ์ ์ธํ์ง ์๊ณ ๋ณ์๋ฅผ ๋ง๋ฆ
val x = 1
val s = "string"
val p = new Persion("Regina")
๋ฐ์ดํฐ ์ ํ์ ์ ์ถํ ์ ์์ผ๋ฉฐ, ์ฝ๋ ๊ฐ๊ฒฐํ๊ฒ ์ ์งํ๋๋ฐ ๋์๋จ
์ ํ ๋ช
์ํ ์ ์์ผ๋ ์ผ๋ฐ์ ์ผ๋ก ํ์ํ์ง์์
์ ์ด ๊ตฌ์กฐ
if (test1) {
doA()
} else if (test2) {
doB()
} else if (test3) {
doC()
} else {
doD()
}
์ผํญ ์ฐ์ฐ์
val x = if (a < b) a else b
match ํํ์
์ค์นผ๋ผ์์ match๋ ์๋ฐ์์ swtich์ ์ ์ฌํจ
val result = i match {
case 1 => "one"
case 2 => "two"
case _ => "not 1 or 2"
}
์ ์๋ก๋ง ์ ํ๋์๊ณ boolean์ ํฌํจํ ๋ชจ๋ ๋ฐ์ดํฐ ์ฌ์ฉํจ
val booleanAsString = bool match {
case true => "true"
case false => "false"
}
try/catch ํํ์
์๋ฐ try/catch์ ์ ์ฌํ์ง๋ง match ํํ์๊ณผ ์ผ์นํจ
try {
writeToFile(text)
} catch {
case fnfe: FileNotFoundException => println(fnfe)
case ioe: IOException => println(ioe)
}
for loop์ ํํ์
for (arg <- args) println(arg)
// "x to y" syntax
for (i <- 0 to 5) println(i)
// "x to y by" syntax
for (i <- 0 to 10 by 2) println(i)
for-loop์ ํค์๋๋ฅผ ์ถ๊ฐํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์ถํ๋ yeild ์์ฑํ ์ ์์
val x = for (i <- 1 to 5) yield i * 2
while do/while ํํ์
// while loop
while(condition) {
statement(a)
statement(b)
}
// do-while
do {
statement(a)
statement(b)
}
while(condition)
ํด๋์ค
class Person(var firstName: String, var lastName: String) {
def printFullName() = println(s"$firstName $lastName")
}
val p = new Person("Julia", "Kern")
println(p.firstName)
p.lastName = "Manes"
p.printFullName()
์ค์นผ๋ผ ๋ฉ์๋
๋ฐํ ์ ํ ์ ์ธํ ํ์ ์์
def sum(a: Int, b: Int) = a + b
def concatenate(s1: String, s2: String) = s1 + s2
๋ฉ์๋ ํธ์ถํ๋ ๋ฐฉ๋ฒ
def sum(a: Int, b: Int) = a + b
def concatenate(s1: String, s2: String) = s1 + s2
trait
์ถ ํ์ ์์ธํ ๋ด์ ์ง๊ธ์ ๊ทธ๋ฅ ๋๊น
Collection Class
ํํ
ํํ์์ ์ฌ๊ธฐ์ ๋์ถฉ ์ดํดํ๊ณ ๋๊ธธ๊ฑฐ์
'๋ฏธ์ฌ์ฉ > 3. ์ค์นผ๋ผ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ค์นผ๋ผ ๋ถ 02 (0) | 2023.01.11 |
---|