Java

Lambda

씬프 2021. 3. 30. 16:29
반응형

Lambda 함수?

프로그래밍에서 익명 함수를 나타낸다. 함수를 더 단순하게 표현한다.

병렬처리와 이벤트 지향 프로그래밍에 적합하다.

 

표현식

// 방법 1.
(매개변수) -> {함수}

// 방법 2. 매개변수가 하나일 경우 생략 가능
() -> {함수}

// 방법3. 함수가 단일 실행문이면 {} 생략
(매개변수) -> 함수

// 방법4. 함수가 return문으로만 구성된 경우 {} 생략 불가
(매개변수) -> {return ;}

사용 예제

public interface PlusOne {
	int one(int num);
}


// ...

    PlusOne plusOne = new PlusOne() {
        @Override
        public int one(int num) {
            return num + 1;
        }
    }
// ...
	
    System.out.println(plusOne.one(10));
    // 11 
	

위와 같이 인터페이스를 클래스로 구현할 때, 메서드를 구현하게 되는데 Lambda로 표현하면,

// ...

    PlusOne plusOne = x -> (x+1);
    
// ...

    System.out.println(plusOne.one(10));
    // 11

단순하게 표현할 수 있다.

'Java' 카테고리의 다른 글

[JAVA] DB와 관련된 (순수 JDBC, JDBC 템플릿, JPA)  (0) 2021.04.06
[JAVA] 접근 제어자  (0) 2021.04.01
Maven, Gradle  (0) 2021.03.30
DAO, DTO  (0) 2021.03.29
JSP, Servlet  (0) 2021.03.27