모던 자바 인 액션

✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 형식 검사, 형식 추론, 제약 메서드 참조 람다, 메서드 참조 활용하기 람다 표현식을 조합할 수 있는 유용한 메서드 비슷한 수학적 개념 3.5 형식 검사, 형식 추론, 제약 람다 표현식 자체에는 람다가 어떤 함수형 인터페이스를 구현하는지의 정보가 포함되어 있지 않습니다. 따라서 람다 표현식을 제대로 이해하려면 람다의 실제 형식을 파악해야 합니다. 3.5.1 형식 검사 람다가 사용되는 컨텍스트를 이용해서 람다의 형식을 추론할 수 있습니다. 어떤 컨텍스트에서 기대되는 람다 표현식의 형식을 대상 형식이라고 부릅니다. 람다 표현식을 사용할 때 실제 어떤 일이 일어나는지 보여주는..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 람다란 무엇인가? 어디에, 어떻게 람다를 사용하는가? 실행 어라운드 패턴 함수형 인터페이스 사용 3.1 람다란 무엇인가? 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것입니다. 람다의 특징은 다음과 같습니다. 익명 : 보통의 메서드와 달리 이름이 없으므로 익명이라 표현합니다. 함수 : 람다는 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부릅니다. 전달 : 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할 수 있습니다. 간결성 : 익명 클래스처럼 자질구레한 코드를 구현할 필요가 없으므로 람다 표현식은 늘 간결하고 유연합니다. 람다 표현식을 사용하..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌이 장의 내용 변화하는 요구사항에 대응 동작 파라미터화 익명 클래스 람다 표현식 미리 보기 실전 예제 : Comparator, Runnable, GUI 동작 파라미터화를 이용하면 자주 바뀌는 요구사항에 효과적으로 대응할 수 있습니다. 동작 파라미터화란, 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미합니다. 이 코드 블록은 나중에 프로그램에서 호출됩니다. 즉, 코드 블록의 실행을 나중으로 미룹니다. 동작 파라미터화로 자주 변화하는 요구사항에 유연하게 대응할 수 있습니다. 2.1 변화하는 요구사항에 대응하기 2.1.1 첫 번째 시도 : 녹색 사과 필터링 초기 요구사항은 녹색 ..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 자바가 거듭 변화하는 이유 컴퓨팅 환경의 변화 자바에 부여되는 시대적 변화 요구 자바 8과 자바 9의 새로운 핵심 기능 소개 1.1 역사의 흐름은 무엇인가? 자바 역사를 통틀어 가장 큰 변화가 자바 8에서 일어났다. 자바 1.0 : 스레드와 스레드 락, 메모리 모델을 지원하지만, 저수준 기능 활용 힘듦 자바 5 : 스레드 풀, 병렬 실행 컬렉션 등의 아주 강력한 도구 도입 자바 7 : 병렬 실행에 도움을 줄 수 있는 포크 및 프레임워크를 제공했지만 활용 어려움 자바 8 : 스트림 API, 메서드 참조와 람다, 인터페이스와 디폴트 메서드 제공 1.2 왜 아직도 자바는 변화..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 스칼라 소개 자바와 스칼라의 관계 스칼라의 함수와 자바의 함수 비교 클래스와 트레이트 이 장에서는 스칼라 언어를 소개하고, 자바와 비교하며 함수형 프로그래밍의 다양한 기능을 살펴봅니다. 스칼라에서는 자바에 비해 더 다양하고 심화된 함수형 기능을 제공하며, 간결하고 가독성이 좋은 코드를 구현할 수 있다는 점을 확인할 수 있습니다. 이를 위해 스칼라로 간단한 프로그램을 구현하고 컬렉션을 다루는 방법, 함수, 클로저, 커링 등을 살펴보고, 인터페이스와 디폴트 메서드의 기능을 담당하는 트레이트라는 기능도 살펴봅니다. 20.1 스칼라 소개 이 절에서는 스칼라의 특징을 간단한 "H..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 일급 시민, 고차원 함수, 커링, 부분 적용 영속 자료구조 자바 스트림을 일반화하는 게으른 평가와 게으른 리스트 패턴 매칭, 자바에서 패턴 매칭을 흉내 내는 방법 참조 투명성과 캐싱 이 장에서는 고급 함수형 프로그래밍 기법을 다룹니다. 이론적 지식뿐 아니라 실무에서 적용 가능한 기술을 배울 수 있습니다. 다루는 내용으로는 고차 함수, 커링, 영구 자료구조, 게으른 리스트, 패턴 매칭, 참조 투명성을 이용한 캐싱, 콤비네이터 등이 있습니다. 19.1 함수는 모든 곳에 존재한다 함수형 언어 프로그래머는 함수를 값으로 취급할 수 있음을 의미하는 일급 함수 개념을 폭넓게 사용합..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 왜 함수형 프로그래밍을 사용하는가? 함수형 프로그래밍은 어떻게 정의하는가? 선언형 프로그래밍과 참조 투명성 함수형 스타일의 자바 구현 가이드라인 반복과 재귀 이 장에서는 함수형 프로그래밍이란 무엇인지 설명하고, 함수형 프로그래밍의 개념과 관련 용어를 살펴본 후, 함수형 프로그래밍이 제공하는 이점인 부작용, 불변성, 선언형 프로그래밍, 참조 투명성, 자바 8에서 제공하는 기능 등을 설명합니다. 그리고 고차원 함수, 커링, 영속 데이터 구조체, 게으른 리스트, 패턴 패칭, 콤비네이터 등 함수형 프로그래밍의 기법을 자세히 살펴봅니다. 18.1 시스템 구현과 유지보수 이 절에서..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 Thread, Future, 자바가 풍부한 동시성 API를 제공하도록 강요하는 진화의 힘 비동기 API 동시 컴퓨팅의 박스와 채널 뷰 CompletableFuture 콤비네이터로 박스를 동적으로 연결 리액티브 프로그래밍용 자바 9 플로 API의 기초를 이루는 발행 구독 프로토콜 리액티브 프로그래밍과 리액티브 시스템 최근 소프트웨어 개발 방법에서는 멀티코어 프로세서를 활용한 병렬 처리 기술과 마이크로 서비스 아키텍처, 매시업 형태의 애플리케이션 개발이 주목되고 있습니다. 멀티태스크 프로그래밍의 양면성이 중요한 역할을 하며, 자바에서는 Future 인터페이스와 Complet..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 자바가 진화해야 한다는 여론으로 자바가 모듈 시스템을 지원하기 시작함 주요 구조 : 모듈 declarations, requires, exports 지시어 기존 자바 아카이브(JAR)에 적용되는 자동 모듈 모듈화와 JDK 라이브러리 모듈과 메이븐 빌드 기본적인 requires, exports 외의 모듈 지시어 간단 요약 자바 9에서 추가된 모듈 시스템은 프로젝트를 모듈로 분리하고 모듈 간 의존성을 명시하는 기능입니다. 이 기능을 통해 개발자는 모듈 간 의존성 충돌 문제를 해결하고 불필요한 라이브러리 의존성을 제거할 수 있습니다. 또한 모듈 시스템을 이용해 애플리케이션의 실..
✏️[모던 자바 인 액션, 전문가를 위한 자바 8, 9, 10 기법 가이드] 스터디 관련 책 내용을 정리한 글입니다. 📌 이 장의 내용 디폴트 메서드란 무엇인가? 진화하는 API가 호환성을 유지하는 방법 디폴트 메서드의 활용 패턴 해결 규칙 자바 8에서는 인터페이스 변경으로 인한 문제를 해결하기 위해 기본 구현을 포함하는 인터페이스를 정의할 수 있는 방법을 제공합니다. 정적 메서드와 디폴트 메서드 기능을 사용하여 인터페이스에 메서드 구현을 포함시킬 수 있습니다. 이를 통해 기존 인터페이스를 구현하는 클래스는 새로운 메서드의 디폴트 메서드를 자동으로 상속받아, 기존 코드를 변경하지 않고도 인터페이스를 수정할 수 있습니다. List 인터페이스의 sort와 Collection 인터페이스의 stream 메서드가..
규니95
'모던 자바 인 액션' 태그의 글 목록