상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 코틀린의 고차 함수 사용 예시는?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/코틀린/ko'>코틀린</a>(Kotlin)은 고차 함수(higher-order function)를 지원하는 현대적인 프로그래밍 언어로, 고차 함수는 다른 함수를 인자로 받거나 반환하는 함수를 의미합니다. 고차 함수는 코드의 재사용성을 높이고, 더 간결하고 읽기 쉬운 코드를 작성하는 데 도움을 줍니다. 이 글에서는 코틀린에서 고차 함수를 사용하는 다양한 예시를 살펴보겠습니다. 1. 기본적인 고차 함수 예시 가장 간단한 형태의 고차 함수는 다른 함수를 인자로 받는 것입니다. 아래의 예시에서는 두 개의 정수를 받아서 특정 연산을 수행하는 고차 함수를 정의합니다. ```kotlin fun operateOnNumbers(a: Int, b: Int, operation: (Int, Int) -> Int): Int { return operation(a, b) } fun main() { val sum = operateOnNumbers(5, 10) { x, y -> x + y } val product = operateOnNumbers(5, 10) { x, y -> x * y } println("Sum: $sum") // 출력: Sum: 15 println("Product: $product") // 출력: Product: 50 } ``` 위의 코드에서 `operateOnNumbers` 함수는 두 개의 정수와 함수를 인자로 받아서, 해당 함수를 사용하여 연산을 수행합니다. <a href='https://sangseek.com/sangseeks/람다 표현식/ko'>람다 표현식</a>을 사용하여 `sum`과 `product`를 계산합니다. 2. 고차 함수와 리스트 처리 고차 함수는 컬렉션을 처리하는 데 매우 유용합니다. 코틀린의 표준 라이브러리에는 다양한 고차 함수가 포함되어 있습니다. 예를 들어, `map`, `filter`, `reduce`와 같은 함수는 리스트를 처리할 때 자주 사용됩니다. ```kotlin fun main() { val numbers = listOf(1, 2, 3, 4, 5) // 각 요소에 2를 곱하는 map 함수 val doubled = numbers.map { it * 2 } println("Doubled: $doubled") // 출력: Doubled: [2, 4, 6, 8, 10] // 짝수만 필터링하는 filter 함수 val evens = numbers.filter { it % 2 == 0 } println("Evens: $evens") // 출력: Evens: [2, 4] // 모든 요소의 합을 구하는 reduce 함수 val sum = numbers.reduce { acc, number -> acc + number } println("Sum: $sum") // 출력: Sum: 15 } ``` 위의 예시에서 `map`, `filter`, `reduce`는 모두 고차 함수로, 리스트의 각 요소에 대해 특정 작업을 수행합니다. 이러한 함수들은 코드의 가독성을 높이고, 복잡한 로직을 간결하게 표현할 수 있게 해줍니다. 3. 고차 함수와 클로저 코틀린의 고차 함수는 클로저(closure)와 함께 사용할 수 있습니다. 클로저는 함수가 정의된 <a href='https://sangseek.com/sangseeks/스코프/ko'>스코프</a>의 <a href='https://sangseek.com/sangseeks/변수/ko'>변수</a>를 기억하는 기능을 말합니다. ```kotlin fun makeCounter(): () -> Int { var count = 0 return { count++ } } fun main() { val counter = makeCounter() println(counter()) // 출력: 0 println(counter()) // 출력: 1 println(counter()) // 출력: 2 } ``` 위의 예시에서 `makeCounter` 함수는 카운터를 생성하는 고차 함수입니다. 이 함수는 내부적으로 `count` 변수를 유지하고, 반환된 함수가 호출될 때마다 `count` 값을 증가시킵니다. 이렇게 클로저를 사용하면 상태를 유지하는 함수형 프로그래밍 패턴을 구현할 수 있습니다. 4. 고차 함수와 리팩토링 고차 함수를 사용하면 코드의 중복을 줄이고, 리팩토링을 통해 더 깔끔한 코드를 작성할 수 있습니다. 예를 들어, 여러 개의 리스트에서 특정 조건을 만족하는 요소를 찾는 기능을 고차 함수를 통해 구현할 수 있습니다. ```kotlin fun <T> L<a href='https://sangseek.com/sangseeks/ist<T>/ko'>ist<T></a>.customFilter(predicate: (T) -> Boolean): List<T> { val result = mutableListOf<T>() for (item in this) { if (predicate(item)) { result.add(item) } } return result } fun main() { val numbers = listOf(1, 2, 3, 4, 5, 6) val evenNumbers = numbers.customFilter { it % 2 == 0 } println("Even Numbers: $evenNumbers") // 출력: Even Numbers: [2, 4, 6] } ``` 위의 예시에서 `customFilter`라는 확장 함수를 정의하여 리스트에서 특정 조건을 만족하는 요소를 필터링하는 기능을 구현했습니다. 이처럼 고차 함수를 사용하면 코드의 재사용성을 높이고, 더 읽기 쉬운 코드를 작성할 수 있습니다. 결론 코틀린의 고차 함수는 함수형 프로그래밍의 개념을 쉽게 구현할 수 있게 해주는 강력한 도구입니다. 이를 통해 코드의 가독성을 높이고, 재사용성을 증가시키며, 복잡한 로직을 간결하게 표현할 수 있습니다. 다양한 예시를 통해 고차 함수의 사용법을 익히고, 실제 프로젝트에서 활용해 보시기 바랍니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기