📚 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 댓글