Kotlin3 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. Spring Data JPA가 새로운 entity를 판단하는 기준(with Kotlin) Java를 사용하면 고민할 필요가 없어 그냥 넘어가는데, Kotlin으로 JPA를 사용하면 한 번쯤 생각해봐야 하는 것이 있다.나의 경우 PK인 id 프로퍼티를 어떻게 선언해둘지 고민하다 Spring Data JPA 내부 구현체를 살펴보고 새로운 entity를 어떻게 판단하는지 직접 확인해보며 정리해봤다.Java냐 Kotlin이냐 상관 없이 공통적인 내용이 있어 잘 알아두는 게 좋을 것 같다.테스트 환경Kotlin 1.9Spring Boot 3.2.3Spring Data JPAMySQL 8TestcontainersSpring Data JPA 내부 구현체package me.ramos.guide.repositoryimport me.ramos.guide.domain.Itemimport org.springfra.. 2024. 12. 29. 이전 1 다음