상세 컨텐츠

본문 제목

[패스트캠퍼스 수강후기] Java 웹 개발 마스터 올인원 패키지 Online 21회차 미션 - 자바인강

Fast Campus[패스트캠퍼스 후강후기]

by 매일매일 배우는 개발자 2021. 4. 28. 08:00

본문

728x90

수강한 클립명

  • 람다식 - 1
  • 람다식 - 2
  • 스트림 - 1
  • 스트림 - 2
  • 코딩해 보세요 (12장)

람다식 - 1

 

ist 인터페이스Stack과 Queue 구현하기

https://coupa.ng/bYj8Wg

 

코멧 순백 3겹 라벤더 바닐라 롤화장지 30m

COUPANG

www.coupang.com

 

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


코딩 비전공자라 학원에서 자바(코딩수업)수업을 수료했지만 실력부족을 느껴 기초부터 다시 해보자라는 생각과 웹개발의 전체적인 방법을 알아보고 싶어 주위에서 괜찮다고 했던 패스트캠퍼스 java/spring 웹 개발 마스터 를 수강하게 되었다.

 

완강을 하여 나만의 웹페이지를 만들고 이 미션수행을 통과해 환급을 받는게 올해 목표이다.

 

미션 일정

  • 미션 기간 : 2/15 (월) ~ 5/15(토)

방법

  • 3클립 이상의 강의영상 수강하기
  • 수강 인증샷과 함께 1000자 이상의 학습 기록을 블로그에 작성하기
  • 미션 페이지에 미션 기록하기

 

 

 


람다식 - 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() : 요소의 합

 

배열 stream mine

이 외도 여러가지 최종연산이 있음

 

스트림 - 2

reduce() <사진참조>


reduce()연산
정의된 연산이 아닌 프로그래머가 직접 지정하는 연산을 적용
최종 연산으로 스트림의 요소를 소모하며 연산 수행
배열의 모든 요소의 합을 구하는 reduce()연산

메소드 <사진참조>

reduce() 활용 by mine

코딩해 보세요 (12장)

패키지 여행을 떠나는 고객들이 있습니다.
여행비용은 15세 이상은 100만원, 그 미만은 50만원 입니다. 다음과 같이 고객 세 명이
여행을 간다고 했을 때 비용과 고객 명단에 대한 출력을 스트림을 활용하여 만들어 보세요


고객리스트 <사진참조>

1. 고객 명단을 출력합니다.
2. 여행의 총 비용을 계산합니다.
3. 고객 중 20세 이상인 사람을 이름으로 (가나다순) 정렬하여 출력합니다.

 

 


https://bit.ly/2YynTUa

 

한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online. | 패스트캠퍼스

Java/Spring 웹 개발, 핵심 25가지 스킬부터 공부하세요. 대기업 출신 7인의 강사진이 모여 만든 Java/Spring 웹 개발 완전체 커리큘럼! 핵심 스킬 25가지 강의부터 250개의 예제, 7개의 프로젝트까지! 비

fastcampus.co.kr




728x90

관련글 더보기