본문 바로가기

전체 글164

코틀린의 콜렉션 연산: take, drop, takeLast, dropLast, takeLastWhile, dropWhile 코틀린에서는 콜렉션의 일부분을 취하거나 버리기 위한 다양한 함수를 제공합니다. 그 중 take(), drop(), takeLast(), dropLast(), takeLastWhile(), dropWhile() 함수들의 사용법과 개념을 살펴보겠습니다. 1. take() 설명: take() 함수는 콜렉션의 처음부터 주어진 수만큼의 요소를 가져옵니다. val numbers = listOf(1, 2, 3, 4, 5) val taken = numbers.take(3) println(taken) // [1, 2, 3] 2. drop() 설명: drop() 함수는 콜렉션의 처음부터 주어진 수만큼의 요소를 제거하고 나머지 요소들을 반환합니다. val numbers = listOf(1, 2, 3, 4, 5) val dr.. 2023. 8. 29.
코틀린의 함수형 콜렉션 연산 코틀린은 강력한 함수형 프로그래밍 기능을 지원합니다. 여기서는 map(), filter(), any(), forEach() 네 가지 기본 연산을 다룰 예정입니다. 1. map() 설명: map()은 콜렉션의 각 요소를 변환하기 위해 사용됩니다. 주어진 함수를 각 요소에 적용하여 결과 콜렉션을 생성합니다. 시나리오: 각 숫자를 제곱한 결과를 얻고 싶을 때 val numbers = listOf(1, 2, 3, 4, 5) // map()을 사용하여 각 숫자를 제곱하기 val squaredNumbers = numbers.map { it * it } println(squaredNumbers) // [1, 4, 9, 16, 25] 2. filter() 설명: filter()는 주어진 조건에 맞는 요소만 포함하는 새.. 2023. 8. 29.
Pure Function (순수 함수) 순수 함수는 주어진 입력에 대해 항상 동일한 출력을 반환하며, 외부 상태를 변경하지 않고 외부 상태에 의존하지도 않는 함수입니다. 순수 함수의 특징: 동일한 입력에 대한 동일한 출력: 동일한 인자가 주어졌을 때 항상 동일한 결과를 반환해야 합니다. 부작용(Side Effects)이 없음: 외부 상태를 변경하지 않아야 하며, 함수 내에서도 외부 상태에 의존해서는 안 됩니다. Pure Function 예시: // 순수 함수 예시 fun add(x: Int, y: Int): Int { return x + y } val result = add(3, 4) // 항상 7을 반환 이 함수는 입력된 두 숫자의 합을 반환합니다. 외부의 어떤 상태에도 영향을 받지 않으며, 외부 상태를 변경하는 부작용도 없습니다. Non-.. 2023. 8. 28.
Kotlin 확장 함수 (Extension Functions) 코틀린에서는 기존 클래스에 새로운 메서드를 추가하는 것처럼 확장 함수(extension function)를 사용하여 해당 클래스의 메서드처럼 동작하게 만들 수 있습니다. 이는 실제로 해당 클래스를 변경하거나 상속하지 않고도 가능합니다. 확장 함수의 장점 모듈성: 기존 코드를 수정하지 않고도 새로운 기능을 추가할 수 있습니다. 유연성: 라이브러리나 API 등 외부 소스코드를 수정하지 않고도 확장 함수를 사용해 기능을 추가할 수 있습니다. 읽기 쉬운 코드: 확장 함수를 통해 더 직관적이고 읽기 쉬운 코드를 작성할 수 있습니다. 물론이죠. 다른 예시를 들어보겠습니다. 예시 시나리오 Int 클래스에는 해당 정수가 홀수인지를 확인하는 함수가 내장되어 있지 않습니다. 이를 확인하기 위해서는 주로 % 연산자를 사용하.. 2023. 8. 28.
728x90