JAVA - Lambda
람다,
함수를 하나의 식(Expression)으로 나타낸 것
람다식의 기본 형태 : ( 매개 변수 ) -> { 함수 식; }
ex) (int a) -> { System.out.println(a); }
매개변수 자료형이 코드 내에서 유추 가능하고 함수 식도 하나면 자료형, return 키워드를 생략가능
심지어, 각각 하나씩이라고 보장되면 괄호들도 제거가능
(int a) -> { System.out.println(a); }
==
a -> System.out.println(a);
@FunctionalInterface 어노테이션을 인터페이스 위에 적어주면 해당 인터페이스는 멤버로 함수 하나만을 가질 수 있게 강제된다!
람다 Example
람다식의 가장 큰 장점이 바로 오버라이딩을 아주 쉽게 할 수 있다는 점!!
Comparator 클래스의 compare 메소드를 오버라이딩해서 원하는 정렬법으로 정렬할 수 있다.
-> 코드가 너무 복잡!!!
람다사용 시
더 짧게 메소드 참조 표현식(::)을 사용하면 코드는 줄이고 람다와 완전히 같은 동작한다.
(인스턴스의 자료형)::(메소드)
Collections.sort(myList,String::compareTo);