728x90
1. 변수 선언
var name: String = "Bill" // 값 변경 가능
val age: Int = 25 // 값 변경 불가능 (final)
var nickname: String? = null
- var: 가변 변수
- val: 불변 변수 (초기화 후 값 변경 불가
- ? = null: nullable 변수 선언
2. 형변환
val number: Int = 10
val text: String = number.toString()
- Kotlin은 명시적 형변환만 지원 (toInt(), toString() 등)
3. 함수 선언
//일반함수
fun sum(a: Int, b: Int): Int {
return a + b
}
//단일 표현식 함수
fun sum(a: Int, b: Int) = a + b
4. 조건문
//if 문
val score = 85
if (score >= 90) {
println("A")
} else {
println("B or below")
}
//is 타입 검사:
val data: Any = "Kotlin"
if (data is String) println("It's a String")
//when 표현식
val input = 2
when (input) {
1 -> println("One")
2 -> println("Two")
else -> println("Other")
}
5. 반복문
//for in
for (i in 1..3) println(i)
for (i in 3 downTo 1) println(i)
for (i in 0..6 step 2) println(i)
//while 문
var i = 0
while (i < 3) {
println(i)
i++
}
6. 클래스
class Person(val name: String, var age: Int) {
fun introduce() {
println("Hi, I'm $name and $age years old")
}
}
7. data 클래스
: equals, hashCode, toString, copy, componentN 자동 생성
data class User(val name: String, val age: Int)
val u1 = User("Alice", 20)
val u2 = u1.copy(name = "Bob")
println(u2)
8. enum 클래스
enum class Status(val message: String) {
SUCCESS("Success"),
FAIL("Fail");
fun isSuccess() = this == SUCCESS
}
val status = Status.SUCCESS
println(status.message)
println(status.isSuccess())
9. 상속과 오버라이딩
open class Animal {
open fun sound() = println("Generic sound")
}
class Dog : Animal() {
override fun sound() = println("Bark!")
}
10. 추상 클래스
abstract class Animal {
abstract fun eat()
fun breathe() = println("Breathing")
}
class Cat : Animal() {
override fun eat() = println("Eating fish")
}
11. 인터페이스
interface Runner {
fun run()
}
class Athlete : Runner {
override fun run() = println("Running")
}
12 스코프 함수
//apply
val book = Book("Kotlin").apply {
title = "Updated Kotlin"
}
//run
val result = book.run {
title = "New Title"
"done"
}
//with
val result = with(book) {
title = "With Scope"
"complete"
}
//let
val name: String? = "Kotlin"
name?.let { println(it) }
//also
val user = User().also {
it.name = "Alice"
}
13. 객체(object)
//object
object Logger {
fun log(msg: String) = println("Log: $msg")
}
//companion object
class Config {
companion object {
const val version = "1.0"
}
}
14. null 처리
val name: String? = null
val result = name ?: "Unknown" // null이면 대체값
val length = name?.length // null-safe 호출
val force = name!!.length // null 강제 처리 (주의)
name?.let { println("Hello, $it") }
15. infix 함수
: 사용자 정의 연산자처럼 사용할 수 있음
infix fun String.plusInt(x: Int): String = this + x
println("Score: " plusInt 100)
728x90
'Kotlin Spring > Kotlin Spring 강의 내용' 카테고리의 다른 글
| 4) Spring @controller, @service, @repository (0) | 2025.08.29 |
|---|---|
| 3) Spring 컨테이너, Bean (0) | 2025.08.26 |
| 2) Spring Boot란? (맛보기) (0) | 2025.08.25 |
| 1. Kotlin 이란? & (1) 주요 자료구조 (1) | 2025.08.24 |
| 0. [과정을 들어가면서] 과정소개 (1) | 2025.08.24 |