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
- Flexbox
- 어찌저찌해냄
- 스프링부트
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 2장
- 테스트코드
- jpa
- 자바스크립트
- 그래도일단
- 기술면접
- AWS EC2 구현
- 내가해냄
- 운영체제
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 스프링부트 테스트코드
- 개발자기술면접
- CS
- 오늘도
- 트랜지스터
- 스프링부트와 AWS로 혼자 구현하는 웹 서비스
- 스프링부트와 AWS로 혼자 구현하는 웹서비스
Archives
- Today
- Total
개발 공부
Java 람다 본문
람다식 (Lambda Expression)
- 함수(메서드)를 간단한 식으로 표현하는 방법
int max(int a, int b){
return a > b ? a : b;
}
//를 람다식으로 표현하면 아래처럼 된다
(a, b) -> a > b ? a : b
- 함수와 메서드의 차이
근본적으로는 동일하나 함수는 일반적 용어이자 클래스에 독립적이고
메서드는 객체지향개념 용어이며 클래스에 종속적
- 람다식은 익명 객체이다.
(a, b) -> a > b ? a : b
//를 제대로 쓰면
new Object() {
int max(int a, int b) {
return a > b ? a : b;
}
}
객체의 선언과 생성을 동시에 한 것
- 람다식(익명 객체)을 다루기 위한 참조변수가 필요하다
Object obj = new Object(){
int max(int a, int b) {
return a > b ? a : b;
}
};
그런데 이와 같이 참조변수를 Object로 하면, max라는 메서드를 쓸 수 없다 (Object 클래스 안에는 max()가 없음)
람다식은 익명객체이므로 참조변수는 필요하고, 참조변수의 타입은 Object로 할 수 없고 과연 어떻게 해야 max()를 쓸 수 있을까
이때 나오는 개념이 함수형 인터페이스이다
'Java' 카테고리의 다른 글
Stream (0) | 2022.11.08 |
---|---|
옵셔널(Optional) : null 체크 (수정 중) (0) | 2022.05.18 |
제네릭, Comparable 인터페이스 (0) | 2022.05.15 |
Java Day15 : 컬렉션 프레임워크 (0) | 2022.01.19 |
Java Day14 : 예외 처리, Wrapper 클래스 (0) | 2022.01.18 |
Comments