반응형
람다(Lambda)
함수형 프로그래밍을 지원하고, 코드를 더 간결하게 작성할 수 있도록 도와줍니다. 람다는 익명 함수의 일종으로 메서드를 하나의 식으로 표현하는 방법입니다.
익명 함수
이름이 없는 함수로, 주로 프로그램의 특정 부분에서 일시적으로 사용되고 다른 함수에서 인수로 전달되는 함수입니다.
특징
익명 함수는 이름을 가지지 않고 익명함수는 함수명을 가져야 한다는 제한이 없습니다.
익명 함수를 이용했을 때는 코드를 간결하게 만들 수 있습니다.
람다식 : 간결한 형태의 코드 뭉치
(전달값1, 전달값2, ...) -> {코드}
EX1
public void print() {
String s = "test";
System.out.println(s);
}
람다식으로 바꾸려면 접근제어자인 public 필요가 x 이름도 필요 x
() -> {
String s = "test";
System.out.println(s);
}
Ex2
public void print(String s) {
System.out.println(s);
}
람다 변환 (한 문장일 때는 중괄호 세미콜론 없앨 수 있음)
(s) -> System.out.println(s)
전달값이 한개이면 괄호 없어도 됨
(s) -> System.out.println(s)
// 바뀐 예시
s -> System.out.println(s)
Ex3
public int add(int x, int y) {
return x + y;
}
람다식 변환
(x,y) -> x+y
함수형 인터페이스
@FunctionalInterface인 함수형 인터페이스를 사용하는 이유는 개발자가 함수형 인터페이스를 의도했는지 컴파일러가 해당 인터페이스가 실제로 함수형 인터페이스의 조건을 충족하는지 확인하기 위해 사용합니다.
@FunctionalInterface
public interface Convertable {
void convert(int USD);
void convert2(); // 입력하면 에러 출력
}
728x90
'JAVA' 카테고리의 다른 글
Stream(기초) (0) | 2023.10.30 |
---|---|
Static 사용? (0) | 2023.10.27 |
HashSet, HashMap (0) | 2023.10.23 |