[Java]람다식(Lambda)의 기본개념

람다의 개념

Java 8에 새롭게 추가된 기능으로, 익명함수를 정의하는 간편한 방법이다.

람다의 기본 문법

(args)->{body}

기존의 함수에서 어노테이션과 메소드의 상세정보 등 비롯한 불필요한 부분을 제거하고 인자 목록함수의 몸통만 작성한다.

  • 예시) 익명의 클래스를 선언한 일반적인 형태는 이러하다.

    Arrays.sort(costs, new Comparator<int[]>() {
      @Override
      public int compare(int[] o1, int[] o2) {
        return Integer.compare(o1[2], o2[2]);
      }
    });
    
    • 여기서 Comparator인터페이스는 재정의할 함수가 compare뿐이기 때문에 람다식을 적용할 수 있는 함수형 인터페이스다.
  • Arrays.sort(costs, ((o1, o2) -> {
      return Integer.compare(o1[2],o2[2]);
    }));
      
    // 한번 더 축약 가능하다.
    Arrays.sort(costs, ((o1, o2) -> Integer.compare(o1[2],o2[2])));
    
    • 이와같이 매개변수와 반환값만 작성해 한줄로 코드가 간략화되었다.

      👉 람다식을 사용하면 코드의 가독성이 높아지고 작성 또한 용이해진다.

태그: ,

카테고리:

업데이트: