โ์์ฑ์ ๋ณธ์ธ์ Java๋ฅผ ์ด๋ ์ ๋ ์๊ธฐ ๋๋ฌธ์ ๋ณธ์ธ ์์ฃผ๋ก ๋ธ๋ก๊ทธ๋ฅผ ์์ฑํด๋๊ฐ ์๊ฐ์ ๋๋ค.
โKotlin์ ๊ณต๋ถํ๊ธฐ์ ์ Java์ ๋ํด์ ์กฐ๊ธ์ด๋ผ๋ ์๋ค๋ฉด ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๐ก์ฃผ์, ์ถ๋ ฅ, ์ธ๋ฏธ์ฝ๋ก , ๋ฆฌํฐ๋ด, ์๋ฃํ, ๋ณ์, ํจ์, ์ฐ์ฐ์๐ก
โช๏ธ์ฃผ์
· // : ํ ์ค ์ฃผ์
· /* ··· */ : ์ฌ๋ฌ ์ค ์ฃผ์
โช๏ธ์ถ๋ ฅ
· print() : ์ค ๋ฐ๊ฟ ์์ด ํ์ค๋ก ์ถ๋ ฅ
· println() : ์ ๋ ฅ ๋ ๋ฌธ์ ์ถ๋ ฅ ํ ์ค ๋ฐ๊ฟ
โช๏ธ์ธ๋ฏธ์ฝ๋ก
· ์๋ฐ์์ ์ธ๋ฏธ์ฝ๋ก ์ ํ์์ด์ง๋ง ์ฝํ๋ฆฐ์์๋ ์ ํ์ฌํญ์ด์ง๋ง ๊ฑฐ์ ์ฐ์ง ์๋๋ค.
โช๏ธ๋ฆฌํฐ๋ด
· ์ฝ๋ ์์ฑ ์ ๊ฐ์ ์์ฑํ๋ ๋ฌธ๋ฒ์ด๋ค.
์ ์ ๋ฆฌํฐ๋ด
· Java์์๋ ๊ฐ์ด ํด ๊ฒฝ์ฐ L์ ๋ถ์ฌ์คฌ์ง๋ง Kotlin์ ์ ๋ถ์ฌ์ค๋ ๋๋ค.
· ๊ฐ์ด ํด ๊ฒฝ์ฐ _๋ก ๊ตฌ๋ถ์ด ๊ฐ๋ฅํ๋ค.
println(100)
println(10000000000)
println(10000000000L)
println(123_456_789_000)
์ค์ ๋ฆฌํฐ๋ด
· ๋์ F๋ฅผ ๋ถ์ฌ์ค๋ค๋ฉด Double์ด ์๋ Float๋ก ๋ช ์๋๋ฉฐ 4Byte๋ก ์ค์ด๋ ๋ค.
// F๋ฅผ ์๋ถ์ด๋ฉด ์๋์ผ๋ก Double ํ์
์ด ๋จ
println(11.11)
println(22.22F)
๋ฌธ์ ๋ฐ ๋ฌธ์์ด ๋ฆฌํฐ๋ด
· ๋ฌธ์๋ ๋ฑ 1์๋ง ์ธ ์ ์์ผ๋ฉฐ ์์๋ฐ์ดํ๋ฅผ ์ด๋ค.
· ๋ฌธ์์ด์ ํ ๊ธ์ ์ด์์ ์ธ ์ ์์ผ๋ฉฐ ํฐ๋ฐ์ดํ๋ฅผ ์ด๋ค.
· Raw String : ์ฌ๋ฌ ๋ฌธ์์ด์ ์ธ ๋ ์ ์ฉํ๋ฉฐ ์ ๋ค๋ก ํฐ๋ฐ์ดํ 3๊ฐ์ฉ ์์ฑํด์ฃผ๋ฉด ๋๋ค.
println('A')
println('๊ฐ')
println("๋ฌธ์์ด")
// Raw String
println("""
๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด
๋ง๋ฅด๊ณ ๋ณ๋๋ก
ํ๋๋์ด ๋ณด์ฐํ์ฌ
์ฐ๋ฆฌ๋๋ผ ๋ง์ธ
""".trimIndent())
๋ ผ๋ฆฌ ๋ฆฌํฐ๋ด
· ์ฐธ๊ณผ ๊ฑฐ์ง์ ๋ํ๋ผ ๋ ์ด๋ค.
println(true)
println(false)
โช๏ธ์๋ฃํ
· ์ ์ : Long(8), Int(4), Short(2), Byte(1)
· ๋ถํธ๊ฐ ์๋ ์ ์ : ULong(8), UInt(4), UShort(2), UByte(1)
· ์ค์ : Double(8), Float(4)
· ๋ ผ๋ฆฌ : Boolean(1)
· ๋ฌธ์ : Char(2)
· ๋ฌธ์์ด : String
โช๏ธ๋ณ์
· var : ์ ์ธ ์ดํ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์
· val : ์ ์ธ ์ดํ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์์
๋ณ์ ์ ์ธ ๋ฐฉ๋ฒ
· var/val ๋ณ์๋ช : ํ์ = ๊ฐ
· ํ์ ์ ๋บ ๊ฒฝ์ฐ ๊ฐ์ ๋ฐ๋ผ ์๋์ผ๋ก ํ์ ์ด ๋ฐ๋๋ค.
// var๋ ๊ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅ
var a : Int = 100
a = 200
// val๋ ๊ฐ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ
val b : Double = 10.0
b = 20.0 // ์ค๋ฅ
// ํ์
์ ์์ ์ด์ฃผ๋ฉด ๊ฐ์ ๋ฐ๋ผ ์๋์ผ๋ก ํ์
์ด ๋ฐ๋
var c = "๊ฐ๋๋ค"
null ํ์ฉ ๋ณ์
· null์ ์ฝ๊ฒ ๋งํด ๋น์ด์๋ ์ํ๋ฅผ ๋งํ๋ค.
var d : Int? = 1000
var e : Int? = null
println(d)
// e๋ null๋ก ์ถ๋ ฅ๋จ
println(e)
null ๋ถํ์ฉ ๋ณ์
· !!๋ฅผ ์์ฑํ๋ค๋ฉด null์ ๋ถํ์ฉํ๋ ๋ณ์๋ก ๋ณ๊ฒฝํด์ค๋ค.
· ์ฝ๋์์ ์ค๋ฅ๊ฐ ์์ง๋ง ์คํ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. (์ด๋ฏธ ๋ณ์ e์๋ null์ด ๋ค์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค)
var f : Int = e!!
· ๋ณ์ e์ ๊ฐ์ ๋ฃ์ด์ฃผ๊ณ ์คํํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. (null์ด์๋ ๋ณ์ e์ ๊ฐ์ ๋ฃ์ด์คฌ๊ธฐ ๋๋ฌธ์ด๋ค)
e = 100
var f : Int = e!!
println(f)
โช๏ธํจ์
· ์ฝ๋ ๋ถ๋ฌ๋ค ์ฐ๋ ๊ฐ๋ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
· ํจ์๋ช ์ ์์ ๋กญ๊ฒ ์์ฑ ๊ฐ๋ฅํ๋ค.
fun main() {
function1()
}
// fun์ function์ ์ฝ์
fun function1() {
println("function1 ํธ์ถ")
}
๋งค๊ฐ ๋ณ์์ ์ธ์
· ๋งค๊ฐ ๋ณ์ : ํจ์์ ๋๊ฒจ๋ฐ์ ๊ฐ
· ์ธ์ : ๋งค๊ฐ๋ณ์๊ฐ ์ ์๋์ด ์๋ ํจ์๋ฅผ ์ฌ์ฉํ ๋ ๋ณด๋ด์ฃผ๋ ๊ฐ
· ๋งค๊ฐ ๋ณ์๊ฐ ์ ์๋์ด ์๋ ํจ์๋ ๋งค๊ฐ ๋ณ์์ ํ์ ์ ๋ง์ถฐ ์ธ์๋ฅผ ๋ณด๋ด์ค์ผ ํ๋ค.
fun main() {
// 100, 100.0๊ณผ ๊ฐ์ด ํจ์์ ๋ณด๋ด๋ ๊ฐ๋ค์ ์ธ์๋ผ๊ณ ๋ถ๋ฆ
function2(100, 100.0)
}
// num1 : Int, num2 : Double๊ณผ ๊ฐ์ด ํจ์์ ๋ฐ๋ ๊ฐ๋ค์ ๋งค๊ฐ ๋ณ์๋ผ๊ณ ๋ถ๋ฆ
fun function2(num1 : Int, num2 : Double) {
println("function2 ํธ์ถ")
println("num1 : $num1, num2 : $num2")
}
· ๊ธฐ๋ณธ๊ฐ์ด ์ ์๋ ๋งค๊ฐ ๋ณ์๋ ์ธ์๋ก ๋ณด๋ด์ฃผ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ถ๋ ฅ๋๋ค.
fun main() {
// num1์๋ 100์ ๋๊ฒจ์ฃผ๊ณ str1์๋ ์ธ์๋ฅผ ๋๊ฒจ์ฃผ์ง ์์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ถ๋ ฅ
function3(100)
}
// ๊ฐ์ ๋ฏธ๋ฆฌ ์์ฑํ๊ณ ๋๊ฒจ๋ฐ์ ์ธ์๊ฐ ์๋ค๋ฉด ๋ฏธ๋ฆฌ ์์ฑํ ๊ฐ์ด ๋์ด
fun function3(num1 : Int = 0, str1 : String = "๊ธฐ๋ณธ๊ฐ") {
println("function3 ํธ์ถ")
println("num1 : $num1, str1 : $str1")
}
ํจ์์ return
· ๋ฐํ๋ฐ๊ณ ์ถ์ ๊ฐ์ด ์๋ค๋ฉด ๋ฐํ ํ์ ๊ณผ return์ ์์ฑํด์ฃผ๋ฉด ๋๋ค.
· ๋ฐํ๋ฐ์ ๊ฐ์ ๋ณ์์ ๋ด์ผ๋ฉด ๋๋ค.
fun main() {
// ๋ฐํ ๋ฐ๋ ๊ฐ์ด ์ ์์ด๋ฏ๋ก ์๋์ผ๋ก Int ํ์
์ผ๋ก ๋ณํ
var result = function4(100, 200)
println("๋ฐํ ๊ฐ : $result")
}
// return์ ํ๋ ๊ฐ์ด ์ ์์ด๋ฏ๋ก Int๋ฅผ ์ ์ด์ค
fun function4(num1 : Int, num2 : Int) : Int{
println("function4 ํธ์ถ")
println("$num1 + $num2 = ${num1 + num2}")
return num1 + num2
}
ํจ์์ ์ค๋ฒ๋ก๋ฉ
· ๋งค๊ฐ ๋ณ์์ ํํ๋ฅผ ๋ค๋ฅด๊ฒ ํ์ฌ ๊ฐ์ ์ด๋ฆ์ผ๋ก ์ฌ๋ฌ ํจ์๋ฅผ ์ ์ํ๋ ๊ฒ์ด๋ค.
· ๋งค๊ฐ ๋ณ์์ ๋ง๊ฒ ์ธ์๋ง ๋ฃ์ด์ฃผ๋ฉด ํด๋น ํจ์๋ฅผ ํธ์ถํ๋ค.
· ๋งค๊ฐ ๋ณ์์ ๊ฐ์๊ฐ ๊ฐ์๋ ํ์ ์ด ๋ค๋ฅด๋ค๋ฉด ์๊ด์์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
fun main() {
function5()
function5(100)
function5(100, 10.0)
}
fun function5() {
println("function5() ํธ์ถ")
}
fun function5(num1 : Int) {
println("function5(Int) ํธ์ถ")
}
fun function5(num1 : Int, num2 : Double) {
println("function5(Int, Double) ํธ์ถ")
}
์ง์ญ ํจ์
· ํจ์ ๋ด์ ์ ์ํ ํจ์์ด๋ค.
· ์ง์ญ ํจ์๋ ํด๋น ํจ์๋ฅผ ์ ์ํ ํจ์ ์์์๋ง ํธ์ถ์ด ๊ฐ๋ฅํ๋ค.
fun main() {
// function6์์ ๋ง๋ค๊ณ main ํจ์ ์์์ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ ๋ถ๊ฐ๋ฅ
function7()
// function6์ ํธ์ถํ๋ฉด function6 ํจ์ ๋ด์์ function7์ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ ๊ฐ๋ฅ
function6()
}
fun function6() {
println("function6 ํธ์ถ")
fun function7() {
println("function7 ํธ์ถ")
}
// function6์์ ๋ง๋ค๊ณ function6 ํจ์ ์์์ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ ๊ฐ๋ฅ
function7()
}
โช๏ธ์ฐ์ฐ์
๋จํญ ์ฐ์ฐ์
· ํญ์ด ํ๋์ธ ์ฐ์ฐ์์ด๋ค.
· +๋ ์์๋ฅผ ๋ง๋๋ฉด ์์, ์์๋ฅผ ๋ง๋๋ฉด ์์๋ก ๋์จ๋ค.
var num1 = 100
var num2 = -100
var result1 = +num1
var result2 = +num2
println("result1 : $result1, result2 : $result2")
· -๋ ์์๋ฅผ ๋ง๋๋ฉด ์์, ์์๋ฅผ ๋ง๋๋ฉด ์์๋ก ๋์จ๋ค.
var num1 = 100
var num2 = -100
var result3 = -num1
var result4 = -num2
println("result3 : $result3, result4 : $result4")
· !๋ ์ฐธ์ ๋ง๋๋ฉด ๊ฑฐ์ง, ๊ฑฐ์ง์ ๋ง๋๋ฉด ์ฐธ์ผ๋ก ๋์จ๋ค.
var boolean1 = true
var boolean2 = false
var result5 = !boolean1
var result6 = !boolean2
println("result5 : $result5, result6 : $result6")
์ฆ๊ฐ ์ฐ์ฐ์
· ๊ฐ์ ๋ํ๊ฑฐ๋ ๋นผ๋ ์ฐ์ฐ์์ด๋ค.
· ์ฆ๊ฐ ์ฐ์ฐ์๋ var๋ก ์ ์ธํด์ผ ํ๋ค.
· ์ฆ๊ฐ ์ฐ์ฐ์๊ฐ ๋ค์ ๋ถ์ ๊ฒฝ์ฐ ๊ฐ์ ๋จผ์ ๋ณ์์ ๋ฃ๊ณ ๋ํ๊ฑฐ๋ ๋นผ๊ธฐ ๋๋ฌธ์ ์กฐ์ฌํด์ผ ํ๋ค.
var num3 = 10
var num4 = 10
// num3 = num3 + 1
var result6 = num3++
// num4 = num4 - 1
var result7 = num4--
println("result6 : $result6, result7 : $result7")
println("num3 : $num3, num4 : $num4")
· ์ฆ๊ฐ ์ฐ์ฐ์๊ฐ ์์ ๋ถ์ ๊ฒฝ์ฐ ๊ฐ์ ๋ํ๊ฑฐ๋ ๋นผ๊ณ ๋์ ๋ณ์์ ๋ฃ๋๋ค.
var num5 = 10
var num6 = 10
// num3 = num3 + 1
var result8 = ++num5
// num4 = num4 - 1
var result9 = --num6
println("result8 : $result8, result9 : $result9")
println("num5 : $num5, num6 : $num6")
์ฐ์ ์ฐ์ฐ์
· +, -, *, /, %, ..๋ฑ๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ์ฐ์ฐ์๋ค์ด๋ค.
var plu = 10 + 2
var min = 10 - 2
var mul = 10 * 2
var div = 10 / 2
var rem = 10 % 2
println("$plu, $min, $mul, $div, $rem")
var ran = 10..20
// ์ถ๋ ฅ์ 10..20์ผ๋ก ๋์ค์ง๋ง 10 ~ 20๊น์ง ํฌํจ๋ ๋ณ์์ด๋ค.
println("$ran")
๋์ ์ฐ์ฐ์
· ๊ธฐ๋ณธ ์ฐ์ฐ์๋ค๊ณผ =์ ๋ถ์ฌ์ ์ฌ์ฉํ๋ค.
var num5 = 50
num5 += 5
print("$num5, ")
num5 -= 5
print("$num5, ")
num5 *= 5
print("$num5, ")
num5 /= 5
print("$num5, ")
num5 %= 5
print("$num5")
๋น๊ต ์ฐ์ฐ์
· ๊ฐ์ด ๊ฐ์์ง ๋น๊ตํด์ฃผ๋ ์ฐ์ฐ์
var num6 = 10
var boolean3 = num6 == 10
println("boolean3 : $boolean3")
var boolean4 = num6 != 10
println("boolean4 : $boolean4")
var boolean5 = num6 == 20
println("boolean5 : $boolean5")
var boolean6 = num6 != 20
println("boolean6 : $boolean6")
var num7 = 10
var boolean7 = num7 < 20
println("boolean7 : $boolean7")
var boolean8 = num7 > 20
println("boolean8 : $boolean8")
var boolean9 = num7 <= 20
println("boolean9 : $boolean9")
var boolean10 = num7 >= 20
println("boolean10 : $boolean10")
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/019.gif)
'๐ฑ > ๐Kotlin' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Kotlin] ์ปฌ๋ ์ (1) | 2022.12.26 |
---|---|
[Kotlin] ํจ์ํ ํ๋ก๊ทธ๋๋ฐ (0) | 2022.12.26 |
[Kotlin] ๋ค์ํ ํด๋์ค (0) | 2022.12.20 |
[Kotlin] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2022.12.20 |
[Kotlin] ์ ์ด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ (0) | 2022.12.20 |