상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 코틀린에서 고차 함수의 매개변수로 함수를 전달하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
코틀린(Kotlin)에서는 고차 함수(Higher-Order Function)를 사용하여 함수를 매개변수로 전달할 수 있습니다. 고차 함수는 다른 함수를 인자로 받거나, 함수를 반환하는 함수를 의미합니다. 이를 통해 코드의 재사용성과 가독성을 높일 수 있습니다. 아래에서는 고차 함수의 개념과 함께 매개변수로 함수를 전달하는 방법에 대해 자세히 설명하겠습니다. 1. 고차 함수 정의하기 고차 함수를 정의할 때는 함수의 매개변수로 함수를 명시합니다. 함수의 타입은 `(인자 타입) -> 반환 타입` 형식으로 정의합니다. ```kotlin fun higherOrderFunction(action: (Int, Int) -> Int): Int { return action(5, 10) } ``` 위의 예제에서 `higherOrderFunction`은 `action`이라는 함수를 매개변수로 받습니다. `action`은 두 개의 `Int`를 입력받아 `Int`를 반환하는 함수입니다. 2. 고차 함수 호출하기 고차 함수를 호출할 때는 매개변수로 사용할 함수를 정의한 후 전달합니다. 다음은 두 개의 숫자를 더하는 함수를 정의하고 이를 고차 함수에 전달하는 예제입니다. ```kotlin fun add(a: Int, b: Int): Int { return a + b } fun main() { val result = higherOrderFunction(::add) // add 함수를 전달 println(result) // 출력: 15 } ``` 위의 코드에서 `::add`는 `add` 함수를 참조하는 것으로, `higherOrderFunction`에 전달됩니다. 3. 람다 표현식 사용하기 코틀린에서는 람다 표현식을 사용하여 함수를 간결하게 정의할 수 있습니다. 람다 표현식은 `{ 인자 -> 표현식 }` 형태로 작성됩니다. 다음은 람다 표현식을 사용하여 고차 함수를 호출하는 예제입니다. ```kotlin fun main() { val result = higherOrderFunction { a, b -> a + b } // 람다 표현식 전달 println(result) // 출력: 15 } ``` 여기서 `{ a, b -> a + b }`는 두 개의 인자를 받아서 더하는 람다 함수입니다. 이 람다 함수는 `higherOrderFunction`에 전달되어 사용됩니다. 4. 여러 개의 함수를 매개변수로 전달하기 고차 함수는 여러 개의 함수를 매개변수로 받을 수도 있습니다. 다음은 두 개의 함수를 매개변수로 받아서 각각의 결과를 출력하는 예제입니다. ```kotlin fun operate(a: Int, b: Int, operation1: (Int, Int) -> Int, operation2: (Int, Int) -> Int) { val result1 = operation1(a, b) val result2 = operation2(a, b) println("Result of operation1: $result1") println("Result of operation2: $result2") } fun main() { operate(5, 10, ::add) { a, b -> a - b } // add 함수와 람다 표현식 전달 } ``` 위의 코드에서 `operate` 함수는 두 개의 함수를 매개변수로 받아 각각의 연산 결과를 출력합니다. `::add`와 람다 표현식 `{ a, b -> a - b }`를 전달하여 더하기와 빼기 연산을 수행합니다. 5. 고차 함수의 반환값으로 함수 사용하기 고차 함수는 함수를 반환할 수도 있습니다. 다음은 두 개의 숫자를 더하는 함수를 반환하는 고차 함수의 예제입니다. ```kotlin fun createAdder(): (Int) -> Int { return { number -> number + 5 } } fun main() { val adder = createAdder() println(adder(10)) // 출력: 15 } ``` 위의 코드에서 `createAdder` 함수는 `Int`를 입력받아 `Int`를 반환하는 함수를 반환합니다. `adder`는 `createAdder`에서 반환된 함수를 참조하며, 이를 통해 10에 5를 더한 결과를 출력합니다. 결론 코틀린의 고차 함수는 함수형 프로그래밍의 강력한 도구로, 코드의 재사용성과 가독성을 높이는 데 큰 도움이 됩니다. 매개변수로 함수를 전달하거나, 함수를 반환하는 방식으로 다양한 패턴을 구현할 수 있습니다. 이러한 기능을 활용하여 더 간결하고 효율적인 코드를 작성할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기