동작 파라미터와 람다(Java 8 in Action)
자바8 in Action을 읽고 정리해본 내용입니다.
자바8은 함수형 패러다임과 멀티 코어에서의 병렬 처리를 돕는 방향으로 출시되었습니다.
‘자바 8 in Action’ 책을 읽고 ppt로 정리해봤습니다.
어떻게 해서 람다와 메서드 레퍼런스 개념까지 자바8에 도입이 되었는지 설명하는 문서입니다.
주요 키워드
동작 파라미터화(Behavior Parameterization), 값 파라미터화, 익명 클래스, 람다
동작 파라미터와 람다(Java 8 in Action)
자바8 in Action을 읽고 정리해본 내용입니다.
자바8은 함수형 패러다임과 멀티 코어에서의 병렬 처리를 돕는 방향으로 출시되었습니다.
‘자바 8 in Action’ 책을 읽고 ppt로 정리해봤습니다.
어떻게 해서 람다와 메서드 레퍼런스 개념까지 자바8에 도입이 되었는지 설명하는 문서입니다.
주요 키워드
동작 파라미터화(Behavior Parameterization), 값 파라미터화, 익명 클래스, 람다
지난 26일(2014/7/26), 지앤선과 KSUG가 함께 진행했던 세미나에서 발표한 람다 관련 내용입니다.
첫 시간에 정대원님이 발표하신 람다 기본에 다루지 않은 내용만 정리했는데 지난 번에 올렸던 자료(http://www.slideshare.net/gyumee/java-8-lambda-35352385)의 후편으로도 볼 수 있을 것 같습니다.
제 발표는 장표만으로 내용을 가늠하기 어려운데 그래도 이번에는 청각 장애인들도 참여한다고 해서 장표에 글자를 많이 넣으려고 했습니다.
이것이 자바다 Chap.14 람다식 Lambda expression(java)(KOR)MIN SEOK KOO
이것이 자바다 Chap.14 람다식 Lambda expression(java) 발표용 PPT
간단하게 정리한 것.
이것이 자바다 책을 기반으로 작성한 강의용 PPT입니다.
부족한 게 많으니 쓰실 때에는 추가하셔서 쓰세요~
참고 자료 : 이것이 자바다
사진 첨부 : http://palpit.tistory.com/
지난 26일(2014/7/26), 지앤선과 KSUG가 함께 진행했던 세미나에서 발표한 람다 관련 내용입니다.
첫 시간에 정대원님이 발표하신 람다 기본에 다루지 않은 내용만 정리했는데 지난 번에 올렸던 자료(http://www.slideshare.net/gyumee/java-8-lambda-35352385)의 후편으로도 볼 수 있을 것 같습니다.
제 발표는 장표만으로 내용을 가늠하기 어려운데 그래도 이번에는 청각 장애인들도 참여한다고 해서 장표에 글자를 많이 넣으려고 했습니다.
이것이 자바다 Chap.14 람다식 Lambda expression(java)(KOR)MIN SEOK KOO
이것이 자바다 Chap.14 람다식 Lambda expression(java) 발표용 PPT
간단하게 정리한 것.
이것이 자바다 책을 기반으로 작성한 강의용 PPT입니다.
부족한 게 많으니 쓰실 때에는 추가하셔서 쓰세요~
참고 자료 : 이것이 자바다
사진 첨부 : http://palpit.tistory.com/
본 강좌에서는 클로저에 대해 알아보도록 하겠습니다. 클로저란 내부 함수와 내부 함수에 영향을 미치는 주변환경을 모두 포함한 객체로정의할 수 있습니다. 또한 클로저는 func와 함수이름이 생략된 경량의 함수객체로 클로저 표현을 통해 문장릉 짧고 간단하게 만들 수 있습니다.
Youtube
- https://youtu.be/0bIRlDCH8kU
4. • 함수 정의, 함수 적용, 귀납적 함수를 추상화한 형식 체계
> 이와 같은 함수를
LAMBDA(ƛ) 표현식
링크 : closure와 currying
5. • 함수 정의, 함수 적용, 귀납적 함수를 추상화한 형식 체계
> 이와 같은 함수를
> 이렇게 축약할 수 있습니다. ( lambda 표현식 )
LAMBDA(ƛ) 표현식
링크 : closure와 currying
6. • 함수 정의, 함수 적용, 귀납적 함수를 추상화한 형식 체계
> 이와 같은 함수를
> 이렇게 축약할 수 있습니다. ( lambda 표현식 )
> 또한, 이렇게도 가능합니다. ( currying 방식)
• 프로그래밍에서 -> 익명 메소드
LAMBDA(ƛ) 표현식
링크 : closure와 currying
7. LAMBDA(ƛ) 표현식 - 문법
• 기본문법
> ( 매개변수 ) -> { 실행시킬 구문 }
• 대상 메소드를 자동으로 찾고, 람다식
만 적용
11. • 장점
> 코드의 수 감소
> 메소드로 행동방식을 전달
> 추상화로 개발자의 의도를 명확하게 하도록 도움
• 단점
> 람다식을 실행할때에는 인터페이스에 선언된 메소드를 호출하여야 한다.
> 재귀 람다식의 호출이 까다롭다.
> 클로저가 지원되지 않는다.
LAMBDA(ƛ) 표현식 - 장/단점
12. • 함수형 인터페이스 (Functional Interface)
> 개념 소개
> @FunctionalInterface 적용 유무
> 추상 메소드가 여러개일때
> default 메소드
13. 함수형 인터페이스
• 추상메소드가 1개 뿐인 인터페이
스를 함수형 인터페이스라 합니
다.
• @FunctionalInterface
> 함수형 인터페이스임을 명시
> 추상메소드가 두개 이상이라
면 컴파일 오류를 발생
> 없어도 함수형 인터페이스로
서 사용 가능( => 기존 인터
페이스도 람다식 사용 가능 )
16. 함수형 인터페이스 - 예외 메소드
• 구현이 되어있는 default, static
메소드는 추가로 더 있어도 무방
• default 메소드
> JAVA 8 이 되면서 생긴 인터
페이스의 메소드 형태
> Default methods are defined
with the default modifier =>
default 메소드는 기본적으
로 사용될 형태로 정의 된다.
17. 함수형 인터페이스 - 기타
• http://docs.oracle.com/javase/8/docs/api/java/util/function/package-
summary.html => 람다표현식을 타겟으로 한 공식제공 인터페이스
• default 메소드 탄생으로 인한 다중 상속의 모호성이 대두됨