본문 바로가기

Kotlin2

Kotlin 제너릭 완전 정복: 클래스 vs 함수, 타입 추론까지 제너릭(Generic)은 "타입을 파라미터화한다"는 점에서 클래스와 함수 모두에 적용될 수 있다.하지만 클래스 단위로 제너릭을 정의하는 것과 함수 단위로 정의하는 것은 의도도 다르고 타입 추론 방식도 다르다.이번 글에서는 Kotlin 제너릭의 핵심 개념부터 실무에서 활용할 수 있는 고급 패턴까지, 실제 코드 예제와 함께 그 차이를 명확히 짚어본다.제너릭 클래스 — 상태(state)에 타입을 입힌다제너릭 클래스는 객체의 속성(필드) 이나 클래스 내부 메서드 전체가 특정 타입에 맞춰 동작하도록 만드는 패턴이다.class Box(private val content: T) {fun get(): T = content}이 클래스는 Box, Box 등으로 인스턴스화될 수 있다.val intBox = Box(123)v.. 2025. 10. 5.
Kotlin 함수형 프로그래밍 완전 정복 함수형 프로그래밍(Functional Programming, FP)은 함수를 일급 객체로 다루며, 순수 함수와 불변성을 중심으로 하는 프로그래밍 패러다임이다. Kotlin은 객체지향과 함수형 프로그래밍을 모두 지원하는 멀티 패러다임 언어로, 강력한 함수형 프로그래밍 기능을 제공한다.이 글에서는 Kotlin에서의 함수형 프로그래밍 기본 개념부터 고급 개념까지 차례대로 살펴보자.1. 함수형 프로그래밍 기본 개념1.1 일급 함수 (First-Class Functions)Kotlin에서 함수는 일급 객체다. 즉, 함수를 변수에 할당하고, 다른 함수의 매개변수로 전달하며, 함수의 반환값으로 사용할 수 있다.// 함수를 변수에 할당val add: (Int, Int) -> Int = { a, b -> a + b }/.. 2025. 10. 4.