- TO-DO LIST
- 55강 내부클래스와 유틸클래스 ~ 57-1강 stream 사용하여 컬렉션 우아하게 사용하기
- 배운 내용 요약 정리
Java static 적극 활용
내부 클래스 문법 활용
Java 유틸리티 클래스 만들기
간단하고, 재사용 가능한 메서드를 제공하는 정적인 클래스
내부클래스 만들기
static 여부 & 선언된 위치로 나뉘어짐
일반 중첩클래스 / 정적 중첩클래스 / 지역 중첩클래스 / 익명 중첩클래스
일반 중첩 클래스 vs 정적 중첩 클래스
기존 문제점 해결 기여
Q) 여러 클래스 / 메소드 유사한 건 상속해야만 할까?
A) 클래스 하위 클래스 정의 -> 개념적 영역으로 그룹화
서로 차이점
일반 중첩 클래스 = 외부 클래스 인스턴스와 연관
정적 중첩 클래스 = 외부 클래스 인스턴스와 독립적
지역 내부 클래스 vs 익명 내부 클래스
Q) 클래스 한 번 이용하는데 새로 클래스 정의해야만 할까?
A) 클래스 정의 X -> 메소드 내부에 정의 또는 익명
서로 차이점
지역 내부 클래스
-> 메서드 내부접근 가능, 여러 번 인스턴스화 가능
익명 내부 클래스 = 한 번만 인스턴스화 가능
Java는 대표적인 객체지향형 프로그래밍 언어
함수형 프로그래밍 스타일 일부 수용
결과: Java 람다식 문법
- 메서드의 이름과 반환타입을 제거하고 '->'를 블록{} 앞에 추가한다.
- 반환값이 있는 경우, 식이나 값만 적고 return문 생략 가능(끝에 ';' 안 붙임)
- 매개변수의 타입이 추론 가능하면 생략 가능(대부분의 경우 생략가능)
Stream API란?
함수형 프로그래밍 도입하여 컬렉션, 배열 등을 처리/조작을 간단/효율적으로 하는 API
가독성 향상, 병렬 연산 가능
Stream 단계 = 생성, 중간연산, 최종연산
integerStream.filter( (i) -> (i % 2 == 0))
.filter( (i) -> (i > 2))
.filter( (i) -> System.out.println("forEach로 출력: " + i));
Stream은 기존 자료 변형 x
Stream 재사용 x
중간연산 = 여러 중간 연산 연동 가능
최종연산 = 진행 연산을 닫고 최종 값 산출
Stream API 대표 최종연산
출력 foreach(): 하나 인자 받아서 void 반환 / 대부분 요소 출력에 사용됨
수집(컬렉션반환) collect(): 기존 Stream에서 수집 진행 / 대부분 컬렉션 반환으로 사용
검색 findFirst(): Stream에서 첫 번째 값 가져옴
연산 sum(), average()
통계 count(), max(), min()
소모 reduce()
- 부족한 점
- 스스로 시도해본 것들
- 해결 내용
- 알게된 점
- 헷갈리거나 실수한 점
- 회고
'SuperCoding' 카테고리의 다른 글
2023.11.02(목) 슈퍼코딩 부트캠프 백엔드 인턴 Week4 Day4 보고 (0) | 2024.03.06 |
---|---|
2023.11.01(수) 슈퍼코딩 부트캠프 백엔드 인턴 Week4 Day3 보고 (0) | 2024.03.06 |
2023.10.30(월) 슈퍼코딩 부트캠프 백엔드 인턴 Week4 Day1 보고 (0) | 2024.03.06 |
슈퍼코딩 웹개발 부트캠프 백엔드 3주차 인턴 후기 (0) | 2024.03.06 |
2023.10.27(금) 슈퍼코딩 부트캠프 백엔드 인턴 Week3 Day5 보고 (0) | 2024.03.06 |