목록전체 글 (107)
백고등어 개발 블로그
10강: 실전 프로젝트와 모범 사례코틀린 코딩 규칙명명 규칙// 클래스와 인터페이스: PascalCaseclass UserRepositoryinterface DataSource// 함수와 변수: camelCasefun calculateTotal()val userName = "김코틀린"// 상수: UPPER_SNAKE_CASEconst val MAX_COUNT = 100const val API_KEY = "your-api-key"// 패키지: 소문자, 점으로 구분package com.example.myapp.domain코드 구조// 1. 패키지 선언package com.example.myapp// 2. Import 문import kotlinx.coroutines.*import java.time.LocalD..
9강: 코루틴 기초코루틴이란?코루틴(Coroutine)은 비동기 프로그래밍을 쉽게 작성할 수 있게 해주는 코틀린의 핵심 기능입니다. 경량 스레드라고 불리며, 수천 개의 코루틴을 동시에 실행해도 성능 저하가 거의 없습니다.코루틴 시작하기의존성 추가코루틴을 사용하려면 먼저 의존성을 추가해야 합니다. Gradle의 경우:dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")}첫 번째 코루틴import kotlinx.coroutines.*fun main() = runBlocking { // 메인 스레드를 차단하는 코루틴 빌더 launch { // 새로운 코루틴 시작 delay(1000L) ..
8강: 제네릭제네릭이란?제네릭(Generics)은 타입을 파라미터화하여 코드의 재사용성을 높이고 타입 안정성을 보장하는 기능입니다. 컬렉션에서 이미 제네릭을 사용해왔습니다: List, Map 등.제네릭 클래스기본 제네릭 클래스class Box(val value: T) { fun get(): T = value}fun main() { val intBox = Box(10) val stringBox = Box("Kotlin") println(intBox.get()) // 10 println(stringBox.get()) // Kotlin // 타입 추론 val doubleBox = Box(3.14) // Box로 추론 println(double..
7강: 예외 처리예외란?예외(Exception)는 프로그램 실행 중에 발생하는 비정상적인 상황을 나타냅니다. 파일을 찾을 수 없거나, 네트워크 연결이 끊기거나, 0으로 나누기를 시도하는 등의 상황에서 예외가 발생합니다.try-catch-finally기본 문법fun main() { try { val result = 10 / 0 // ArithmeticException 발생 println(result) } catch (e: ArithmeticException) { println("0으로 나눌 수 없습니다: ${e.message}") } finally { println("finally 블록은 항상 실행됩니다") }}finally 블록은 ..
6강: 컬렉션컬렉션 개요코틀린은 자바의 컬렉션을 기반으로 하되, 불변(immutable)과 가변(mutable) 컬렉션을 명확히 구분합니다. 이는 함수형 프로그래밍 스타일을 지원하고 안전성을 높이기 위함입니다.List불변 리스트(Immutable List)// listOf: 읽기 전용 리스트 생성val fruits = listOf("사과", "바나나", "오렌지")println(fruits[0]) // 사과println(fruits.size) // 3println(fruits.first()) // 사과println(fruits.last()) // 오렌지// fruits.add("포도") // 컴파일 오류! 불변 리스트// 빈 리스트val emptyList = emptyLi..