본문 바로가기

🌳360

스트림 다양한 데이터 소스(컬렉션, 배열)를 표준화(컬렉션 프레임웍: 서로 사용법 달랐음)된 방법으로 다룬다 선언형으로 데이터 소스를 처리한다 람다식으로 요소 처리 코드를 제공한다 Stream의 요소 처리 메서드들은 대부분 함수형 인터페이스 매개타입을 가진다 → 람다식 또는 메서드 참조를 이용해서 요소 처리 내용을 매개값으로 전달 가능하다 내부 반복자를 사용하므로 병렬 처리가 쉽다 개발자는 요소 처리 코드에만 집중하면 된다! 람다식으로 요소 처리 내용만 전달할 뿐, 반복은 컬렉션 내부에서 일어난다 외부 반복자: 개발자가 직접 컬렉션 요소를 반복해서 가져오는 코드 패턴 → index를 사용하는 for문, Iterator를 이용하는 while문 내부 반복자: 컬렉션 내부에서 요소들을 반복, 개발자가 요소당 처리할 .. 2022. 7. 17.
람다 람다식 함수(메서드)를 하나의 식으로 표현한 것으로, 람다식 도입으로 자바는 객체지향언어인 동시에 함수형 언어가 되었다. 반환 타입과 이름이 지워지면서 익명 함수(이름이 없는 함수)라고 말한다. 장점 1. 코드 간결 2. 컬렉션 요소 필터링과 매핑 → 원하는 결과 쉽게 집계 3. 클래스와 객체 생성 없이 메서드 호출 가능 4. 메서드를 변수처럼 다룰 수 있다 형태 1. 익명 객체: 메서드에서 이름과 반환타입을 제거 2. 매개변수 선언부와 몸통 사이에 -> 추가 (매개변수) -> {실행 코드} 3. 런타임에 익명 구현 객체 생성 int max(int a, int b) { return a > b ? a : b; } (a, b) -> a > b ? a : b //매개변수가 한 개이고 매개변수 타입이 없으면 (.. 2022. 7. 16.
[Day 23] Java - 컬렉션(Collection) Ⅱ 학습 주제 컬렉션 프레임워크(Collection Framework) 2021.12.30 - [Back-End/Java] - 컬렉션 프레임웍 컬렉션 프레임웍 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 인터페이스 인터페이스 특징 Collection List 순서 유지 O, 중복 O 구현 클래스: ArrayList, LinkedList, Stack, Vector Set 순서 유지 X, 중.. cookiee.tistory.com List : 중복 O, 순서 유지 O ArrayList: 검색, 요소 순차적 추가와 삭제 | 중간에 추가하거나 삭제하는 건 성능에 좋지 않음 LinkedList: 값 + 다음 요소 주소 저장, 검색할 때 앞에서부터 검사함(인덱스가 아니라서), 중간에 추가하거나.. 2022. 7. 15.
[Day 22] Java - 컬렉션(Collection) 학습 주제 제네릭(Generic) 컬렉션 프레임워크(Collection Framework) 2022.02.21 - [Back-End/Java] - 지네릭스, 열거형, 애너테이션 지네릭스, 열거형, 애너테이션 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 지네릭스 타입을 구체적으로 지정하는 것이 아니라, 추후에 지정할 수 있도록 일반화 해 둔다 1. 컴파일 시 타입 체크 2. 타입 cookiee.tistory.com 2021.12.30 - [Back-End/Java] - 컬렉션 프레임웍 컬렉션 프레임웍 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 인터페이스 특징 Collection List, Set의 공통된 부분을 뽑아서 만든 새로운 인터페이스 List 저장.. 2022. 7. 14.
[Day 21] Java - 객체지향 프로그래밍 심화 Ⅲ 학습 주제 객체지향 정리 개인 공부: + 컬렉션, 제네릭 2021.12.02 - [Back-End/Java] - 객체지향 프로그래밍 Ⅰ 객체지향 프로그래밍 Ⅰ 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 클래스와 객체 상속, 캡슐화, 추상화 1. 코드의 재사용성이 높다 2. 코드의 관리가 용이하다. 3. 신뢰성이 높은 프로그래밍을 가 cookiee.tistory.com 2021.12.16 - [Back-End/Java] - 객체지향 프로그래밍 Ⅱ 객체지향 프로그래밍 Ⅱ 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 상속 상속: 코드를 재사용하여 적은 양의 코드로 새로운 클래스를 작성하여 코드의 중복을 제거한다 포함: 클래스 멤버로 다 cookiee.tist.. 2022. 7. 13.
[Day 20] Java - 객체지향 프로그래밍 심화 Ⅱ 학습 주제 다형성 추상화 2021.12.16 - [Back-End/Java] - 객체지향 프로그래밍 Ⅱ 객체지향 프로그래밍 Ⅱ 이 글은 남궁성 님의 Java의 정석 책을 바탕으로 정리한 글입니다. 상속 상속: 코드를 재사용하여 적은 양의 코드로 새로운 클래스를 작성하여 코드의 중복을 제거한다 포함: 클래스 멤버로 다 cookiee.tistory.com 기억할 내용 다형성은 리모컨을 생각하자! 기능이 많은 리모컨으로 기능이 적은 TV를 조작하면 문제가 됨 반대로 기능이 적은 리모컨으로 기능이 많은 TV를 조작하면, 기능을 다 사용 못할지라도 문제가 되지 않음! 추상 클래스는 미완성 설계도 바디가 없는 추상 메서드를 포함하면 추상 클래스이다 구체적인 바디는 하위에서 구현하도록 길잡이 역할! 인터페이스는 기본.. 2022. 7. 12.