프로그래밍 패러다임의 혼합은 다양한 프로그래밍 스타일을 결합하여 사용하는 것을 의미합니다. 이런 방식은 보다 유연한 코드 작성을 가능하게 해주며, 각각의 패러다임이 가진 장점을 적절히 활용할 수 있습니다.
// 객체지향 패러다임
class Person(val name: String) {
fun greet() {
println("Hello, $name")
}
}
val person = Person("Alice")
person.greet() // 출력: "Hello, Alice"
// 함수형 패러다임
val numbers = listOf(1, 2, 3, 4, 5)
val doubled = numbers.map { it * 2 }
println(doubled) // 출력: [2, 4, 6, 8, 10]
코틀린을 사용하는 이유
간결성은 코틀린의 가장 큰 장점입니다. 코틀린은 의미 없는 코드 및 형식을 맞추기 위한 부수적인 코드들을 제거하여 간결하게 코드를 작성하도록 합니다. 적은 코드라인으로 문제를 효율적으로 해결할 수 있습니다. 실제로 자바 대신 코틀린을 적용해보면 코드의 양이 많게는 1/3까지 줄어든다고 합니다.
// 일급 객체 예시
fun add(x: Int, y: Int): Int = x + y
fun applyFunc(func: (Int, Int) -> Int, x: Int, y: Int): Int = func(x, y)
fun main() {
val result = applyFunc(::add, 3, 4)
println(result) // 출력: 7
}
// 불변성 예시
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
val doubled = numbers.map { it * 2 }
println(doubled) // 출력: [2, 4, 6, 8, 10]
}