표준 라이브러리 개요 - swkim0128/PARA GitHub Wiki

1. 코틀린 표준 라이브러리란?

코틀린 표준 라이브러리(Kotlin Standard Library)는 코틀린에서 제공하는 기본적인 함수 및 클래스의 모음으로, 개발자가 효율적이고 간결한 코드를 작성할 수 있도록 도와주는 기능을 포함하고 있다.

코틀린 표준 라이브러리의 특징

  • 컬렉션과 시퀀스 처리 기능 제공
  • 함수형 프로그래밍 지원 (고차 함수, 람다)
  • 확장 함수(Extension Functions) 제공
  • 문자열 처리, 파일 I/O, 날짜 및 시간 관련 기능 지원
  • Null 안전성을 고려한 함수 포함

2. 코틀린 표준 라이브러리 주요 기능

1) 컬렉션(Collection) 함수

  • 리스트, 맵, 세트 등 컬렉션을 쉽게 다룰 수 있도록 다양한 확장 함수를 제공한다.
fun main() {
    val numbers = listOf(1, 2, 3, 4, 5)

    val doubled = numbers.map { it * 2 }
    println(doubled) // 출력: [2, 4, 6, 8, 10]

    val evens = numbers.filter { it % 2 == 0 }
    println(evens) // 출력: [2, 4]
}

자주 사용하는 컬렉션 함수

함수 설명
map {} 각 요소를 변환하여 새로운 리스트 생성
filter {} 조건을 만족하는 요소만 필터링
sortedBy {} 특정 기준으로 정렬
reduce {} 리스트를 하나의 값으로 축약
groupBy {} 특정 조건으로 그룹화

2) 범위(Range) 및 반복문

  • .., rangeTo(), step을 사용하여 간결한 범위 연산을 지원한다.
fun main() {
    for (i in 1..5) {
        println(i) // 1, 2, 3, 4, 5
    }

    for (i in 1..10 step 2) {
        println(i) // 1, 3, 5, 7, 9
    }

    for (i in 10 downTo 1) {
        println(i) // 10, 9, 8, ..., 1
    }
}

3) 문자열(String) 처리

  • 다양한 문자열 조작 함수를 제공한다.
fun main() {
    val text = "Kotlin Standard Library"

    println(text.lowercase()) // kotlin standard library
    println(text.uppercase()) // KOTLIN STANDARD LIBRARY
    println(text.split(" ")) // ["Kotlin", "Standard", "Library"]
    println(text.replace("Library", "API")) // Kotlin Standard API
}

자주 사용하는 문자열 함수

함수 설명
uppercase() 대문자로 변환
lowercase() 소문자로 변환
replace(old, new) 문자열 치환
split(" ") 특정 구분자로 문자열 분할
trim() 앞뒤 공백 제거

4) 고차 함수 및 람다 지원

  • 함수형 프로그래밍을 위한 고차 함수 및 람다를 지원한다.
fun operate(a: Int, b: Int, op: (Int, Int) -> Int): Int {
    return op(a, b)
}

fun main() {
    val sum = operate(10, 5) { x, y -> x + y }
    println(sum) // 출력: 15
}

함수를 인자로 받을 수 있는 고차 함수를 쉽게 만들 수 있다.

5) 널 안정성(Null Safety) 지원

  • ?., ?:, !! 등의 연산자를 활용하여 NullPointerException을 방지할 수 있다.
fun main() {
    val name: String? = null

    println(name?.length) // null (안전 호출)
    println(name ?: "Unknown") // Unknown (엘비스 연산자)
    // println(name!!.length) // 런타임 오류 발생 (Not-null 단언)
}

자주 사용하는 널 안전 연산자

연산자 설명
?. 안전 호출 연산자 (null이면 실행 안 함)
?: 엘비스 연산자 (null일 경우 기본값 설정)
!! Not-null 단언 연산자 (null이면 오류 발생)

6) 파일 I/O 처리

  • 코틀린은 파일을 쉽게 읽고 쓸 수 있도록 kotlin.io 패키지를 제공한다.
import java.io.File

fun main() {
    val file = File("example.txt")
    file.writeText("Hello, Kotlin!") // 파일에 텍스트 쓰기

    val content = file.readText() // 파일에서 텍스트 읽기
    println(content) // 출력: Hello, Kotlin!
}

✅ writeText(), readText() 함수를 활용하면 파일 I/O 처리가 매우 간단해진다.

7) 날짜 및 시간 처리

  • java.time 패키지를 활용하여 날짜 및 시간 처리를 쉽게 할 수 있다.
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

fun main() {
    val today = LocalDate.now()
    println(today) // 현재 날짜 출력

    val now = LocalDateTime.now()
    println(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
}

LocalDate와 LocalDateTime을 사용하면 날짜 및 시간 처리가 쉬워진다.

3. 코틀린 표준 라이브러리의 주요 패키지

패키지 설명
kotlin.collections 리스트, 맵, 세트 등의 컬렉션 관련 기능
kotlin.text 문자열 처리 및 변환 기능
kotlin.io 파일 입출력(I/O) 기능
kotlin.math 수학 관련 함수 (sqrt(), abs() 등)
kotlin.time 시간 측정 및 타이머 기능
kotlin.concurrent 동시성(코루틴, 멀티스레드) 관련 기능

4. 결론

  • 코틀린 표준 라이브러리는 개발자가 기본적으로 필요한 다양한 기능을 포함하고 있어 별도의 라이브러리 없이도 강력한 프로그래밍이 가능하다.
  • 컬렉션, 문자열, 널 안정성, 파일 I/O, 날짜 및 시간 등의 다양한 기능을 지원하여 코드의 간결성과 생산성을 향상시킨다.
  • 고차 함수, 람다 및 확장 함수를 적극 활용하면 더 효율적인 프로그래밍이 가능하다.

코틀린 표준 라이브러리를 적극 활용하면 더욱 간결하고 강력한 코드를 작성할 수 있다! 🚀

⚠️ **GitHub.com Fallback** ⚠️