람다 표현식 ' => '과 ' -> '의 첫 사용사례를 모두 설명하세요.
 람다 표현식은 함수를 간결하게 표현하는 방법으로, Java 8부터 도입되었습니다. 람다 표현식은 함수형 인터페이스를 구현하는 익명 클래스를 대체하는 것으로, 코드를 더 간결하고 가독성 좋게 만들 수 있습니다.

'->' 연산자는 람다 표현식에서 사용되는 연산자로, 함수의 매개변수와 본문을 구분하는 역할을 합니다. 예를 들어, (int x) -> x * x는 정수 x를 매개변수로 받아 x의 제곱을 반환하는 함수를 나타냅니다.

'=>' 연산자는 Java에서는 사용되지 않지만, Kotlin 프로그래밍 언어에서는 람다 표현식에서 사용됩니다. '->' 연산자와 같이 함수의 매개변수와 본문을 구분하는 역할을 하지만, 더 간결한 표현이 가능합니다. 예를 들어, { x: Int -> x * x }는 Kotlin에서 정수 x를 매개변수로 받아 x의 제곱을 반환하는 람다 표현식입니다.

따라서, '=>' 연산자는 Java에서는 사용되지 않지만, Kotlin에서는 람다 표현식에서 사용되는 연산자입니다. 반면에 '->' 연산자는 Java에서 람다 표현식에서 사용되는 연산자입니다.

첫 번째 사용 사례로는, 람다 표현식을 사용하여 함수형 인터페이스를 구현하는 것입니다. 예를 들어, Java 8에서는 Comparator 인터페이스를 사용하여 객체를 비교할 수 있습니다. 이전에는 익명 클래스를 사용하여 Comparator를 구현하였지만, 람다 표현식을 사용하면 다음과 같이 간결하게 표현할 수 있습니다.

```java
List<String> list = Arrays.asList("apple", "banana", "kiwi");
list.sort((s1, s2) -> s1.compareTo(s2));
```

두 번째 사용 사례로는, 메서드에 함수를 인자로 전달하는 것입니다. 예를 들어, Java 8에서는 스트림 API를 사용하여 데이터를 처리할 수 있습니다. 스트림 API에서는 람다 표현식을 사용하여 데이터를 필터링하거나 변환할 수 있습니다. 다음은 스트림 API를 사용하여 문자열 배열에서 길이가 5 이상인 문자열을 필터링하는 예시입니다.

```java
List<String> list = Arrays.asList("apple", "banana", "kiwi", "mango");
List<String> filteredList = list.stream()
                                .filter(s -> s.length() >= 5)
                                .collect(Collectors.toList());
```

따라서, 람다 표현식은 함수형 인터페이스를 구현하는 것과 메서드에 함수를 인자로 전달하는 두 가지 주요 사용 사례가 있습니다.
람다 표현식은 프로그래밍 언어에서 익명 함수(이름이 없는 함수)를 정의하기 위한 표현식입니다. 람다 표현식은 주로 함수형 프로그래밍 언어에서 유래했지만, 객체 지향 언어에서도 널리 사용되고 있습니다. `=>`와 `->`는 다양한 프로그래밍 언어에서 람다 표현식을 나타내는 데 사용되는 기호입니다. 이 두 기호의 첫 사용 사례를 살펴보겠습니다.

### `=>` 기호

`=>` 기호는 C# 언어에서 람다 표현식을 나타내는 데 처음으로 사용되었습니다. C#에서의 람다 표현식 도입은 2007년에 출시된 버전 3.0에서 이루어졌습니다. C#에서 람다 표현식은 LINQ (Language Integrated Query)의 핵심 요소 중 하나로, 컬렉션에 대한 질의를 간결하게 표현할 수 있게 해 줍니다.

예시:
```csharp
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = numbers.FindAll(x => x % 2 == 0);
```
여기서 `x => x % 2 == 0`은 각 요소 `x`가 짝수인지를 평가하는 람다 표현식입니다.

### `->` 기호

`->` 기호는 여러 프로그래밍 언어에서 사용되지만, 람다 표현식과 관련하여 주목할 만한 첫 사용 사례는 Java 언어에서입니다. Java에서 람다 표현식은 2014년에 출시된 Java 8 버전에서 처음 도입되었습니다. Java의 람다 표현식은 함수형 인터페이스의 구현을 간결하게 표현할 수 있게 해 줍니다.

예시:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach(n -> System.out.println(n));
```
여기서 `n -> System.out.println(n)`은 각 요소 `n`을 출력하는 람다 표현식입니다.

### 결론

`=>`와 `->`는 각각 C#과 Java에서 람다 표현식을 나타내는 데 처음 사용된 기호입니다. 이 기호들은 프로그래밍에서 함수의 인라인 표현을 가능하게 하여 코드의 간결성과 가독성을 크게 향상시켰습니다. 이후 다양한 언어에서도 유사한 개념이 도입되었습니다.