람다(Lambda)
람다는 메서드를 간결하게 표현하는 문법이다. 익명 클래스를 사용하는 것보다 코드가 훨씬 짧고 읽기 쉬워진다.
예를 들어 Comparator를 구현할 때 별도의 클래스를 만들지 않고 람다식을 사용해 간단하게 작성할 수 있다.
느낀 점
- 코드가 훨씬 간결해졌다.
- 처음에는 문법이 낯설었지만, "메서드를 한 줄로 표현하는 방식"이라고 생각하니 이해하기 쉬웠다.
스트림(Stream)
스트림은 컬렉션(List 등)의 데이터를 반복하면서 가공하거나 원하는 결과를 얻기 위한 기능이다.
대표적으로 다음과 같은 작업을 간결하게 처리할 수 있다.
- filter() : 원하는 조건의 데이터만 선택
- map() : 데이터를 다른 형태로 변환
- forEach() : 각 요소를 순회하며 작업 수행
- collect() : 결과를 새로운 컬렉션으로 수집
기존의 for문보다 코드가 간결해지고, 여러 작업을 하나의 흐름으로 이어서 작성할 수 있다는 점이 인상적이었다.
이번 과제를 하며
public void filterResult(Scanner sc) {
System.out.print("기준값 입력: ");
double standardNum = sc.nextDouble();
sc.nextLine();
results.stream()
.filter(resultsValue -> resultsValue > standardNum)
.forEach(System.out::println);
}
이번 계산기 과제를 진행하면서 람다와 스트림을 처음 적용해 보았다. 아직은 익숙하지 않지만, 반복문과 조건문을 더 깔끔하게 작성할 수 있다는 점을 느꼈다. 앞으로 다양한 예제를 통해 연습하면서 자연스럽게 사용할 수 있도록 익혀나갈 예정이다.
'TIL' 카테고리의 다른 글
| [Spring] MVC에서 자주 사용하는 객체와 어노테이션 정리 (0) | 2026.07.08 |
|---|---|
| Java 리스트(List) 활용 & 반복문 리팩토링 (0) | 2026.06.23 |
| Java - Enum으로 문자열 입력값과 연산자를 매칭하기 (0) | 2026.06.19 |
| TIL - 코드 리팩토링 (중복된 코드 메서드로 만들기) (0) | 2026.06.18 |
| 코드카타를 풀다가 알게 된 int와 double의 함정 (0) | 2026.06.10 |