📚 1장. 람다(Lambda) 기본
💡 람다란 무엇인가?
람다(Lambda)는 이름 없는 함수를 간결하게 표현하는 방법입니다.
형태
(매개변수) -> { 실행코드 }
(매개변수): 입력값->: 입력과 실행을 연결하는 화살표{ 실행코드 }: 실행할 코드 블록
🤔 왜 필요한가?
- 기존에는 익명 클래스를 길게 작성해야 했습니다.
- 람다를 사용하면 코드를 짧고 명확하게 표현할 수 있습니다.
결론: 코드를 간결하고 읽기 쉽게 만들어 줍니다.
📝 예제 1: Runnable
코드
Runnable runner = () -> System.out.println("Running...");
runner.run();
실행 결과
Running...
코드 분석 (줄별 상세 설명 포함)
| 코드 라인 | 설명 |
|---|---|
| Runnable runner = () -> System.out.println("Running..."); | Runnable 인터페이스를 람다 표현식으로 구현. 입력값 없이 'Running...' 출력 준비. |
| runner.run(); | 구현된 람다를 실행시킴. 결과로 'Running...'이 출력됨. |
📝 예제 2: Consumer
코드
Consumer<String> printer = (name) -> System.out.println("Hello, " + name);
printer.accept("Java");
실행 결과
Hello, Java
코드 분석
| 구성 요소 | 설명 |
|---|---|
| Consumer<String> | 문자열을 받아 사용하는 함수형 인터페이스 |
| (name) | 입력 매개변수 (String 타입) |
| accept("Java") | Consumer의 내장 메서드를 호출하여, 입력된 "Java"를 출력 |
💬 추가 설명: accept()는 자바에 내장된 Consumer 인터페이스 메서드입니다.
📝 예제 3: Function
코드
Function<String, Integer> stringLength = (str) -> str.length();
System.out.println(stringLength.apply("Lambda"));
실행 결과
6
코드 분석 (타입 설명 포함)
| 구성 요소 | 설명 |
|---|---|
| Function<String, Integer> | 입력 타입은 String, 반환 타입은 Integer를 의미. 즉, 문자열을 입력받아 정수형 길이를 반환하는 함수. |
| (str) | 입력 매개변수 (문자열) |
| str.length() | 문자열의 길이를 반환하는 메서드 호출 |
| apply("Lambda") | 입력값 "Lambda"를 적용하여 길이(6)를 반환 |
📌 요약
| 인터페이스 | 설명 |
|---|---|
| Runnable | 입력 없이 실행 (run()) |
| Consumer | 입력을 받아 소비 (accept()) |
| Function | 입력을 변환하여 결과 반환 (apply()) |




0 댓글