반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 직장인소액투자
- 핀트투자후기
- 예외
- Java
- 핀트투자
- 핀트후기
- 자바기초
- 로보어드바이저
- 직장인 소액투자
- 개발
- 자바문법
- 소액투자
- 재태크
- 직장인재태크
- 인텔리제이
- 자바
- 자동투자
- 직장인부업
- git
- fint 수익률
- 핀트 후기
- 핀트
- 웹개발
- fint후기
- AI투자
- 핀트 수익률
- 핀트수익률
- 웹
- fint
- 코틀린
Archives
- Today
- Total
하루하루 살아남기
[Java / 자바] 람다식 본문
반응형
람다식
함수형 인터페이스를 통해 익명 내부 클래스를 구현하는 방법은, 람다식을 이용하여 함수형 프로그램이 가능합니다.
람다식을 쓰는 코드가 정말 깔끔해집니다. 다만 조금 생소해보일수 있고, 일회용함수이기때문에 재사용이 안됩니다.
사용법
매개변수와 실행문 사이에 화살표 연산자( -> ) 를 넣어서 둘을 구분합니다.
매개변수가 한개일때는 괄호 생략이 가능합니다. 매개변수는 추상메서드에서 자료형을 정의함으로 따로 적어줄 필요가 없습니다. 즉, 스스로 추론하여 인식합니다. 예를 들어 보겠습니다.
함수형 인터페이스에 String형 매개변수를 한개 정의했습니다. 반환 자료형은 void입니다
public class Lamda {
public static void main(String[] args) {
Test2 lamda = (n) -> System.out.println(n);
lamda.test("람다 테스트");
}
@FunctionalInterface
interface Test2 {
public abstract void test(String testString);
}
}
Test2 인터페이스를 구현받아서 test메서드를 람다식으로 재구현한것입니다. 위 코드는
public class Lamda {
public static void main(String[] args) {
Test2 lamda = new Test2() {
@Override
public void test(String testString) {
System.out.println(testString);
}
};
lamda.test("람다 테스트");
}
@FunctionalInterface
interface Test2 {
public abstract void test(String testString);
}
}
내부 클래스로 표현한 이 코드와 같습니다. 다만 표현을 람다식으로 표현한것입니다.
어떤가요 람다식이훨씬 간결해 보이지 않나요?
728x90
반응형
'개발 > Java' 카테고리의 다른 글
[ Java / 자바 ] 함수형 인터페이스 (0) | 2021.04.10 |
---|---|
[Java / 자바 ] 사용자 정의 예외 (0) | 2021.04.03 |
[Java / 자바] 예외 발생시키기 (0) | 2021.04.03 |
[Java / 자바] Throws (0) | 2021.04.01 |
[Java / 자바] 예외처리 (0) | 2021.04.01 |
Comments