New Score :0
High Score :0
Run Best
NICE BUSINESS TYPE INDICATOR
3. ๊ธ์ ์ ์น๊ตฌ์๊ฒ ๋น๋ ธ๋๋ฐ ์ค๋์ด ๋์ ์ฃผ๊ธฐ๋ก ํ๋ .. ๊ทธ๋ฐ๋ฐ ์นด๋๊ฐ์ ๋ด์ผํ๋ ๋ ๋ ์ค๋์ธ๋ฐ... ์ด๊ฑธ ์ด์ฉ๋...
4. ์ฐ๋ฆฌ ํ์ฌ๋ ์ค์ํ ์์ฌ ๊ฒฐ์ ์ ํ ๋?
5. ์ด์ฌํ ์ผํ ๋๋ฅผ ์ํ ์ ๋ฌผ์ ์ฃผ๊ณ ์ถ๋ค. ์ด๋ค๊ฒ ์ข์๊น?
6. ์ํ์์ ํฌ์์ํ์ ์ถ์ฒ๋ฐ์๋ค. ์ด๋ค๊ฑธ ๊ฐ์ ํ์ง?
7. ํ์ฌ์์์ ๋๋?
8. ๊ฟ์์ ๊นจ์ด๋๋ 20๋ ์ ์ผ๋ก ๋์๊ฐ๋ค. ๋น์ ์ด ์ ์ผ ๋จผ์ ํ๋์ผ์?
9. ๋ด๊ฐ ์ธ์ฌ ๋ด๋น์๋ผ๋ฉด ์ ๊ท ์ ์ฌ์ ์ฑ์ฉ ์ ์ ์ผ ์ค์ํ๊ฒ ๋ณด๋๊ฒ์?
10. ํ์ฌ์ ์ ๋ง ์ซ์ดํ๋ ๋๋ฃ๊ฐ ์๋ค๋ฉด?
11. ๊ฐ๋ํ ์ง์ ๊ฐ์ฅ์ด ๋์๋ค.. ์๋ ์ ์์ผ ๋ ์ ๋ฌผ์?
12. ํ์ ํ์ฌ ์ถ๊ทผ ์คํ์ผ์?
13.ํ์ฌ ์ฒด์ก๋ํ ํ๋ ๋ ์ด๋ค. ์ค๋ ๋ญํ์ง?
14. ๋์ ์ ๋ฌด ์คํ์ผ์?
Kotlin์ ๊ฐ๊ฒฐํ๊ณ ์์ ํ๋ฉฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ๋ ์ฝ๊ฒ ์์ฑํ ์ ์๋๋ก ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ต์ ์คํ ์์ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. ๋ค์์ Kotlin์ ๊ฐ์ฅ ์ ์ฉํ ๊ธฐ๋ฅ ์ค ์ผ๋ถ์ ๋๋ค.
- Null ์์ ์ฑ: Kotlin์๋ ์ปดํ์ผ ํ์์ null ํฌ์ธํฐ ์์ธ๋ฅผ ๋ฐฉ์งํ๋ ๊ฐ๋ ฅํ ์ ํ ์์คํ ์ด ์์ต๋๋ค. ๋ฐํ์ ์ค๋ฅ ์์ด null ๊ฐ์ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ nullable ํ์ ์์คํ ์ ์ ๊ณตํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฝ๋์ ์์ ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ํ์ฅ ํจ์: Kotlin์ ํ์ฅ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ์์ค ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ๋ ๊ธฐ์กด ํด๋์ค์ ์ ํจ์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ ์ฝ๋ ์ค๋ณต์ ์ค์ด๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ํด๋์ค: Kotlin์ ๋ฐ์ดํฐ ํด๋์ค๋ ํด๋์ค๋ฅผ ์ ์ํ๋ ๊ฐ๊ฒฐํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ์ดํฐ. ๋ฐ์ดํฐ ํด๋์ค๋ ํด๋น ์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก equals(), hashCode() ๋ฐ toString()๊ณผ ๊ฐ์ ์ ์ฉํ ๋ฉ์๋๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์์ฉ๊ตฌ ์ฝ๋๋ฅผ ์ค์ด๊ณ ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
- ์ฝ๋ฃจํด: Kotlin์ ๋น๋๊ธฐ ์์ ์ ์ํํ ์ ์๋ ๊ฒฝ๋ ์ค๋ ๋์ธ ์ฝ๋ฃจํด์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํฉ๋๋ค. . ์ฝ๋ฃจํด์ ์ฝ๊ณ ์ ์งํ๊ธฐ ์ฌ์ด ๋น๋๊ธฐ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋น์ฐจ๋จ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
- Java์์ ์ํธ ์ด์ฉ์ฑ: Kotlin์ Java์ ์ํธ ์ด์ฉ ๊ฐ๋ฅํฉ๋๋ค. ์ฆ, Kotlin ์ฝ๋๋ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ ๋ฐ๋. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๊ธฐ์กด Java ํ๋ก์ ํธ๋ฅผ Kotlin์ผ๋ก ์ฝ๊ฒ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์์ต๋๋ค.
- ์ค๋งํธ ์บ์คํธ: Kotlin์๋ ์ค๋งํธ ์บ์คํธ๋ผ๋ ๊ธฐ๋ฅ์ด ์์ด ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ๋ณ์๋ฅผ ๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ๋ณ์๋ก ์บ์คํธํ ์ ์์ต๋๋ค. ์ ํ ๊ฒ์ฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ ํ. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๊ฐ๊ฒฐํ๊ณ ์์ ํ ์ฝ๋๋ฅผ ๋ ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค.
- Lambda ํํ์: Kotlin์ ์ต๋ช ํจ์๋ฅผ ์ ์ํ๋ ๊ฐ๊ฒฐํ ๋ฐฉ๋ฒ์ธ ๋๋ค ํํ์์ ์ง์ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์์ฉ๊ตฌ ์ฝ๋๋ฅผ ์ค์ด๊ณ ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
์ ๋ฐ์ ์ผ๋ก Kotlin์ Kotlin์ ๊ฐ๋ ฅํ๊ณ ๋ค์ฌ๋ค๋ฅํ๊ฒ ๋ง๋๋ ๋ค์ํ ์ ์ฉํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ด๋ฒ์ํ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ๊ธฐ ์ํ ์ธ์ด์ ๋๋ค. null ์์ ์ฑ, ํ์ฅ ๊ธฐ๋ฅ, ๋ฐ์ดํฐ ํด๋์ค, ์ฝ๋ฃจํด ๋ฐ Java์์ ์ํธ ์ด์ฉ์ฑ์ ์ฝ๋์ ์์ ์ฑ, ์ฑ๋ฅ ๋ฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ ํ๋ ค๋ ๊ฐ๋ฐ์์๊ฒ ๋งค๋ ฅ์ ์ธ ์ ํ์ ๋๋ค.
๋ค์์ Kotlin ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ๊ณตํ๋ ๋ช ๊ฐ์ง ์ ์ฉํ ๊ธฐ๋ฅ์ ๋๋ค.
- ๋ด์ธ๋ ํด๋์ค: Kotlin์ ๊ฐ๋ฐ์๊ฐ ๋ซํ ํด๋์ค ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ ์ํ ์ ์๋ ๋ด์ธ๋ ํด๋์ค๋ผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ด์ธ๋ ํด๋์ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ํ ์ ์๋ ๋ค์ํ ์ ํ์ ์ค๋ฅ์ ๊ฐ์ ์ ํ๋ ํด๋์ค ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
- ํ์ฅ ๊ธฐ๋ฅ: Kotlin์ ํ์ฅ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์์ค ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ๊ธฐ์กด ํด๋์ค์ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ ์ฝ๋ ์ค๋ณต์ ์ค์ด๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ํ์ค ๊ธฐ๋ฅ: Kotlin์ ๋ค์์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ํ์ค ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ํํฐ๋ง, ๋งคํ ๋ฐ ์ปฌ๋ ์ ์ ๊ธฐ์ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์์ . ์ด๋ฌํ ํจ์๋ ์์ฉ๊ตฌ ์ฝ๋๋ฅผ ์ค์ด๊ณ ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ์ฝ๋ฃจํด: Kotlin์ ๋น๋๊ธฐ์์ ์ํํ ์ ์๋ ๊ฒฝ๋ ์ค๋ ๋์ธ ์ฝ๋ฃจํด์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํฉ๋๋ค. ์ด์. ์ฝ๋ฃจํด์ ์ฝ๊ณ ์ ์งํ๊ธฐ ์ฌ์ด ๋น๋๊ธฐ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋น์ฐจ๋จ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
- ๋ฒ์: Kotlin์ ๋ ๋์ ์ฌ์ด์ ๊ฐ ์ํ์ค๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ฒ์ ํด๋์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฒ์๋ ์์ผ ๋๋ ๊ทธ๋ฆฌ๋์ ์ซ์์ ๊ฐ์ ์ผ๋ จ์ ๊ฐ์ ๋ฐ๋ณตํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
- ์ปฌ๋ ์ : Kotlin์ ๋ค์์ ํฌํจํ ๋ค์ํ ์ปฌ๋ ์ ํด๋์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ชฉ๋ก, ์งํฉ ๋ฐ ์ง๋. ์ด๋ฌํ ํด๋์ค๋ ํํฐ๋ง, ๋งคํ ๋ฐ ์ ๋ ฌ๊ณผ ๊ฐ์ ์ปฌ๋ ์ ์กฐ์์ ์ํ ๋ค์ํ ์์ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋ฌธ์์ด ์กฐ์: Kotlin์ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์์ด ์กฐ์์ ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ถํ , ๋ค๋ฌ๊ธฐ ๋ฐ ์์ ์ง์ . ์ด๋ฌํ ํจ์๋ ์์ฉ๊ตฌ ์ฝ๋๋ฅผ ์ค์ด๊ณ ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
์ ๋ฐ์ ์ผ๋ก Kotlin ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ฐ๋ฐ์๊ฐ ๋ค์์ ์ํํ๋ ๋ฐ ๋์์ด ๋๋ ๋ค์ํ ์ ์ฉํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ณด๋ค ๊ฐ๊ฒฐํ๊ณ ์์ ํ๋ฉฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ์์ฑํ์ญ์์ค. ๋ด์ธ๋ ํด๋์ค, ํ์ฅ ํจ์, ํ์ค ํจ์, ์ฝ๋ฃจํด, ๋ฒ์, ์ปฌ๋ ์ ๋ฐ ๋ฌธ์์ด ์กฐ์ ํจ์๋ ๊ด๋ฒ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ๊ฐ๋ ฅํ๊ณ ๋ค์ฌ๋ค๋ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
Sealed Classes:
sealed class Result<T>
class Success<T>(val data: T) : Result<T>()
class Error<T>(val message: String) : Result<T>()
fun <T> processResult(result: Result<T>) {
when (result) {
is Success -> {
println("Data: ${result.data}")
}
is Error -> {
println("Error: ${result.message}")
}
}
}
Extension Functions:
fun String.capitalizeWords(): String {
return split(" ").joinToString(" ") { it.capitalize() }
}
val str = "kotlin is awesome"
val capitalized = str.capitalizeWords()
println(capitalized) // "Kotlin Is Awesome"
Standard Functions:
val list = listOf(1, 2, 3, 4, 5)
val even = list.filter { it % 2 == 0 }
val sum = list.fold(0) { acc, value -> acc + value }
println(even) // [2, 4]
println(sum) // 15
Ranges:
val range = 1..5
val grid = range.flatMap { i -> range.map { j -> i to j } }
grid.forEach { (x, y) -> println("($x, $y)") }
// (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5)
Collections:
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
val doubled = map.mapValues { (_, value) -> value * 2 }
val sum = map.values.sum()
println(doubled) // {a=2, b=4, c=6}
println(sum) // 6
Coroutines:
suspend fun loadData() = withContext(Dispatchers.IO) {
// Perform network request or other long-running operation
}
fun main() {
GlobalScope.launch {
val result = loadData()
// Process result on main thread
}
}
์ด ์ฝ๋ ์ค๋ํซ์ Kotlin ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ๊ณตํ๋ ๋ช ๊ฐ์ง ์ ์ฉํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ๋ด์ธ๋ ํด๋์ค, ํ์ฅ ํจ์, ํ์ค ํจ์, ์ฝ๋ฃจํด, ๋ฒ์ ๋ฐ ์ปฌ๋ ์ ์ ๊ฐ๋ฐ์๊ฐ ๋ ๊ฐ๊ฒฐํ๊ณ ์์ ํ๋ฉฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ๋์์ด ๋๋ ๋ง์ ๊ธฐ๋ฅ ์ค ์ผ๋ถ์ ๋ถ๊ณผํฉ๋๋ค.