수강한 클립명
람다식 - 1
ist 인터페이스Stack과 Queue 구현하기
코멧 순백 3겹 라벤더 바닐라 롤화장지 30m
COUPANG
www.coupang.com
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
코딩 비전공자라 학원에서 자바(코딩수업)수업을 수료했지만 실력부족을 느껴 기초부터 다시 해보자라는 생각과 웹개발의 전체적인 방법을 알아보고 싶어 주위에서 괜찮다고 했던 패스트캠퍼스 java/spring 웹 개발 마스터 를 수강하게 되었다.
완강을 하여 나만의 웹페이지를 만들고 이 미션수행을 통과해 환급을 받는게 올해 목표이다.
미션 일정
방법
람다식 - 1
자바에서 함수형 프로그래밍 (functional programming)을 구현하는 방식
클래스를 생성하지 않고 함수의 호출만으로 기능을 수행
함수형 인터페이스를 선언함
자바8부터 지원되는 기능
특징>
매개변수를 받아 프로그래밍 (외부변수를 사용하지않음) - 순수형 함수 프로그래밍
즉, 외부에 다른 영향을 주지 않음 (병렬 처리 가능)
함수형 프로그래밍이란?
순수 함수(pure function)를 구현하고 호출
매개변수만을 사용하도록 만든 함수로 외부 자료에 부수적인 영향(side effect)가
발생하지 않도록 함
입력 받은 자료를 기반으로 수행되고 외부에 영향을 미치지 않으므로 병렬처리등에
가능 안정적인 확장성 있는 프로그래밍 방식
--
람다식 문법
*매개 변수 하나인 경우 괄호 생략가능(두 개인경우는 괄호를 생략할 수 없음)
str -> {System.out.println(str);
// 익명함수(메서드 이름이 없음)
*중괄호 안의 구현부가 한 문장인 경우 중괄호 생략
str -> System.out.println(str);
*중괄호 안의 구현부가 한 문장이라도 return문은 중괄호를 생략할 수 없음
str -> return str.length(); <<<<<< 오류임
*중괄호 안의 구현부가 반환문 하나라면 return과 중괄호를 모두 생략할 수 있음
(x,y) -> x+y //두 값을 더하여 반환
str -> str.length() //문자열 길이를 반환
람다식 - 2
함수를 변수처럼 사용하는 람다식
프로그램에서 변수는...?
자료형에 기반하여 선언하고 int a;
매개변수로 전달하고 int add(int x, int y);
메서드의 반환 값으로 사용 return num;
람다식은 프로그램내에서 변수처럼 사용할 수 있음
--
함수형 프로그래밍은 객체지향 프로그래밍과 다른점이 많지만
앞으로 함수형 프로그래밍은 많이 쓰이므로 익혀두자!!
스트림 - 1
스트림(Stream)이란?
> 자료의 대상과 관계없이 동일한 연산을 수행할 수 있는 기능(자료의 추상화)
> 배열, 컬렉션에 동일한 연산이 수행되어 일관성 있는 처리 가능
> 한번 생성하고 사용한 스트림은 재사용할 수 없음
> 스트림 연산은 기존 자료를 변경하지 않음
> 중간 연산과 최종 연산으로 구분 됨
> 최종 연산이 수행되어야 모든 연산이 적용되는 지연 연산
--
스트림 연산 - 중간 연산
중간연산 - filter(), map()
조건에 맞는 요소를 추출 (filter()) 하거나 요소를 변환 함 (map())
filter() - 조건에 맞는것을 꺼내오는거
map() - 그 조건에 맞는 데이터를 꺼내오는게 map
스트림에 구현부는 람다식으로 쓰이고 있다 (사진참조)
--
스트림 연산 - 최종 연산
스트림의 자료를 소모하면서 연산을 수행
최종 연산 후에 스트림은 더 이상 다른 연산을 적용할 수 없음
forEach() : 요소를 하나씩 꺼내 옴
count() : 요소의 개수
sum() : 요소의 합
이 외도 여러가지 최종연산이 있음
스트림 - 2
reduce()연산
정의된 연산이 아닌 프로그래머가 직접 지정하는 연산을 적용
최종 연산으로 스트림의 요소를 소모하며 연산 수행
배열의 모든 요소의 합을 구하는 reduce()연산
메소드 <사진참조>
코딩해 보세요 (12장)
패키지 여행을 떠나는 고객들이 있습니다.
여행비용은 15세 이상은 100만원, 그 미만은 50만원 입니다. 다음과 같이 고객 세 명이
여행을 간다고 했을 때 비용과 고객 명단에 대한 출력을 스트림을 활용하여 만들어 보세요
고객리스트 <사진참조>
1. 고객 명단을 출력합니다.
2. 여행의 총 비용을 계산합니다.
3. 고객 중 20세 이상인 사람을 이름으로 (가나다순) 정렬하여 출력합니다.
한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online. | 패스트캠퍼스
Java/Spring 웹 개발, 핵심 25가지 스킬부터 공부하세요. 대기업 출신 7인의 강사진이 모여 만든 Java/Spring 웹 개발 완전체 커리큘럼! 핵심 스킬 25가지 강의부터 250개의 예제, 7개의 프로젝트까지! 비
fastcampus.co.kr
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 23회차 미션 - 자바인강 (0) | 2021.05.06 |
---|---|
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 22회차 미션 - 자바인강 (0) | 2021.05.01 |
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 20회차 미션 - 자바인강 (0) | 2021.04.25 |
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 19회차 미션 - 자바인강 (0) | 2021.04.23 |
[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 18회차 미션 - 자바인강 (0) | 2021.04.17 |