Header Ads Widget

Responsive Advertisement

[Java] 1장. 람다(Lambda) 기본

1장 - 람다(Lambda) 기본 (질문 반영 최종)

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