Lamda

천소진·2023년 4월 5일
0

Study

목록 보기
29/29

람다 ( Lamda )

: 메서드를 하나의 식으로 표현하는 방법
: 클래스를 작성하고 객체를 생성하지 않아도 메서드 사용이 가능.
: 필요에 따라 단하나의 객체를 생성하고 사용할 수 있는 익명클래스와 같음.
: 이름을 가질 필요가 없음.

표현식 작성 방법

: (매개변수 목록) -> {함수 몸체}

ex)
<메서드>
int min(int x, int y){
return x <y? x : y;
}

<람다 표현식>
(x, y) -> x<y? x : y;

작성시 유의 사항

1) 매개변수의 타입을 추론할 수 있는 경우에 타입 생략 가능.
2) 매개변수가 하나인 경우 괄호 생략 가능.
3) 함수 몸체가 하나의 명령문일 경우 중괄호{} 생략 가능.
4) 함수 몸체가 하나의 return문일 경우 중괄호 {} 생략 불가.
5) return 문 대신 표현식 사용 가능하며, 반환값이 결과값이 됨.

장점

1) 코드가 간결함 : 불필요한 반복문의 삭제가 가능하며, 복잡한 식을 단순하게 표현이 가능.
2) 지연연산 수행 : 불필요한 연산 최소화 가능.
3) 병렬처리 가능 : 멀티쓰레드를 활용하여 병렬처리 가능.

단점

1) 호출이 까다로움
2) 단순 for문 또는 while문 사용시 성능이 떨어짐
3) 불필요하게 많이 사용하면 가독성이 떨어짐.

0개의 댓글