상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
민주주의와 나의 권리: 5가지 이유로 알아두어야 할 사항!
풋옵션의 매력, 9가지 이유로 알아보자
풋옵션으로 투자 유연성을 확보하는 7가지 방법
무좀 치료를 위한 5대 추천 제품
파일럿이 되면 얻는 5가지 독특한 경험
하늘을 나는 꿈을 이루다: 9가지 이유로 알려주는 진리
전쟁과 정치: 6가지 원래의 갈등
도시락이 주는 에너지! 8가지 이유
유럽의 풍경에서 영감을 얻는 8가지 방법
유럽의 저렴한 관광지, 놓치면 후회할 8곳
"네팔의 숨은 명소, 6가지 이유로 관광객이 적은 곳에서 휴식"
몽골의 자연재해, 준비해야 할 X가지 대비책
Previous
Next
수정하기 - 코틀린의 고차 함수 사용 예시는?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<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순위입니다.
수정하기
취소하기