[java] 람다식 Lamda expression

1319 단어 JavaTILJava

함수형 프로그래밍과 람다식

  • 자바는 객체 지향 프로그래밍
    기능을 수행하긴 위해서는 객체를 만들고 그 객체 내부에 멤버 변수를 선언하고 기능을 수행하는 메서드를 구현

  • 함수적 프로그래밍
    y=f(x)형태의 함수로 구성된 프로그래밍
    데이터를 매개값으로 전달하고 결과를 받는 코드들로 구성
    객체지향 프로그래밍 보다는 효율적인 경우이다

함수형 프로그래밍은 순수함수를 구현하고 호출함으로써 외부 자료에 영향을 주지 않도록 구현을 한다. 여기서 순수함수는 매개변수만을 사용하여 만드는 함수다. 즉, 함수 내부에서 함수 외부에 있는 변수를 사용하지 않아 함수가 수행되더라도 외부에는 영향을 주지 않는다.

자바 8부터 함수형 프로그래밍 방식을 지원하고 이를 람다식이라 한다. 함수의 구현과 호출만으로 프로그래밍이 수행되는 방식이다.


람다식 Lamda expression

람다식은 간단하게 말해서 메서드를 하나의 식으로 표현한 것이다.

  • 자바는 람다식을 함수적 인터페이스의 익명 구현 객체로 취급한다. 함수가 아니라 객체

    람다식 -> 매개변수를 가진 코드 블록 -> 익명 구현 객체


람다식 문법

  1. 익명 함수 만들기
  2. 매개 변수와 매개변수를 이용한 실행문 (매개변수) -> {실행문;}
  • 매개변수가 하나일 경우 자료형과 괄호 생략가능
  • 매개변수가 두개 이상인 경우 괄호를 생략할 수 없음
  • 실행문이 한 문장인 경우 중괄호 생략 가능
  • 실행문이 한 문장이라도 reutrn문 (반환문)은 중괄호를 생략할 수 없음

public static void main(String[] args) {
		
					//(x, y) -> {return x+y}; 도가능! 
		Add add = (x,y) -> x+y;
	}

좋은 웹페이지 즐겨찾기