정처기 감자정처기 감자
Java객체지향

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

Java 람다 표현식과 함수형 인터페이스

코딩Java
읽는데 6분 소요
처음 쓰인 날: 2026-02-17
마지막 수정일: 2026-02-17
조회수: —
선수학습(1개)
  • Java 인터페이스와 implements

요약

Java 람다 표현식(Lambda Expression)과 함수형 인터페이스(Functional Interface)의 개념을 알아봅니다. 정보처리기사 실기에 출제된 람다 표현식 문제를 풀기 위한 핵심 개념을 정리합니다.

람다 표현식 핵심 정리

개념설명예시
함수형 인터페이스추상 메서드가 딱 하나인 인터페이스interface F { int apply(int x); }
람다 표현식함수형 인터페이스를 짧게 구현하는 문법(x) -> x * 2
매개변수화살표(->) 왼쪽에 작성(x) 또는 (int x)
본문화살표(->) 오른쪽에 작성x * 2 또는 { return x * 2; }

함수형 인터페이스란?

함수형 인터페이스(Functional Interface) 는 추상 메서드가 딱 하나만 있는 인터페이스입니다.

java
코드 하이라이팅 중…
인터페이스 F의 구조 - 점선 테두리로 구현이 없는 설계도를 표현
인터페이스는 메서드의 이름만 정해놓은 설계도입니다. 실제 동작(몸체)은 없습니다.

추상 메서드가 하나뿐이므로, 이 인터페이스를 구현할 때 어떤 메서드를 구현해야 하는지 명확합니다. 이 특성 덕분에 람다 표현식으로 간결하게 구현할 수 있습니다.

"함수형"이라고 부르는 이유는, 추상 메서드가 1개뿐이면 인터페이스 자체가 하나의 함수를 대표하기 때문입니다. 메서드 이름 없이 (x) -> x + 1처럼 동작만 적어도 어떤 메서드를 구현하는 건지 알 수 있으므로, 마치 함수처럼 쓸 수 있습니다. 반대로 메서드가 2개 이상이면 람다식이 어느 메서드를 구현하는 건지 알 수 없어서 함수처럼 쓸 수 없습니다.

java
코드 하이라이팅 중…
메서드 이름은 자유롭게 정할 수 있습니다
함수형 인터페이스의 메서드 이름은 apply, calculate, process 등 어떤 이름이든 상관없습니다. 중요한 것은 추상 메서드가 '딱 하나'라는 점입니다.

함수형 인터페이스 vs 일반 인터페이스

java
코드 하이라이팅 중…

함수형 인터페이스만 람다 표현식으로 구현할 수 있습니다. 추상 메서드가 2개 이상이면 람다 표현식을 사용할 수 없습니다.


람다 표현식이란?

람다 표현식(Lambda Expression) 은 함수형 인터페이스를 짧고 간결하게 구현하는 문법입니다. Java 8부터 도입되었습니다.

기존 방식 vs 람다 표현식

java
코드 하이라이팅 중…

람다 표현식 (x) -> x * 2는 "매개변수 x를 받아서 x * 2를 반환한다"는 뜻입니다. 인터페이스의 유일한 추상 메서드 apply를 자동으로 구현합니다.

람다 표현식 개념
람다 표현식은 함수형 인터페이스의 추상 메서드를 간결하게 구현합니다.

람다 표현식 문법

기본 형식

java
코드 하이라이팅 중…

화살표(->)를 기준으로 왼쪽이 매개변수, 오른쪽이 본문입니다.

문법 규칙

단일 표현식이면 중괄호와 return을 생략할 수 있습니다.

java
코드 하이라이팅 중…

여러 문장이면 중괄호와 return이 필요합니다.

java
코드 하이라이팅 중…

매개변수 타입은 생략할 수 있습니다. 컴파일러가 인터페이스의 메서드 선언부를 보고 자동으로 추론합니다.

java
코드 하이라이팅 중…

문법 정리

형태예시설명
단일 표현식(x) -> x * 2중괄호, return 생략 가능
여러 문장(x) -> { return x * 2; }중괄호, return 필요
타입 명시(int n) -> n + 9매개변수 타입을 직접 작성
타입 생략(n) -> n + 9컴파일러가 타입 추론

람다 표현식은 어떤 메서드를 구현할까?

람다 표현식은 함수형 인터페이스의 유일한 추상 메서드를 자동으로 구현합니다. 매개변수 개수와 타입, 반환 타입이 인터페이스의 메서드와 일치해야 합니다.

java
코드 하이라이팅 중…
인터페이스 메서드람다 표현식연결
int apply(int x)(x) -> x * 2x는 apply의 매개변수, 반환값은 int
메서드 이름: apply-람다에서 메서드 이름은 쓰지 않음
호출: f.apply(3)본문 실행x에 3이 전달됨
람다 표현식을 메서드 인자로 직접 전달할 수도 있습니다
변수에 저장하지 않고 메서드 호출 시 바로 람다 표현식을 전달할 수 있습니다. 예: run((int n) -> n + 9)

정보처리기사 실기 기출 문제

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999