본문 바로가기

Java-Spring3

"모던 자바 인 액션" 궁금했던 것들을 질문으로 정리해봤습니다 (2탄) 스트림을 사용하다 보면 어느 순간부터“음… 이건 그냥 쓰긴 쓰는데, 정확히는 모르겠네?”싶은 부분들이 생기기 시작합니다. 책을 읽다가 햇갈렸던 부분이 생겼습니다.무한 스트림은 어떻게 만들지? iterate와 generate는 뭐가 다르지?flatMap은 왜 꼭 필요한 걸까?컬렉션이 null일 때 스트림은 어떻게 안전하게 만들지?groupingBy랑 partitioningBy는 언제 무엇을 써야 할까?reduce와 collect는 둘 다 ‘결과를 만든다’는데, 정확한 차이가 뭘까? "헷갈렸던 부분들을 직접 코드로 실험해보고 정리한 내용"을 담았습니다. CHAPTER 05 스트림 활용🤔 무한 스트림 생성하는 방법Q. 무한 스트림을 생성하는 방법에는 iterate 와 generate가 있는데요.이 둘의 차.. 2025. 11. 24.
"모던 자바 인 액션" 궁금했던 것들을 질문으로 정리해봤습니다 (1탄) "모던 자바 인 액션"은 스트림, 람다, 함수형 프로그래밍 등자바의 최신 기능을 깊이 있게 다룬 책인데요.읽으면서 자연스럽게 떠오른 질문들을 하나씩 풀어보려 합니다. CHAPTER 02 동작 파라미터화 코드 전달하기🤔 외부 반복과 내부 반복은 어떤 차이가 있을까?Q. for-each 에서 사용되는 반복 방식을 외부 반복, 스트림에서 사용되는 반복 방식을 내부 반복이라고 합니다.이 둘의 차이점에는 어떤 것이 있을까요? 외부 반복(external iteration) :개발자가 직접 요소를 하나씩 가져오며 반복을 제어하는 방식입니다.ex. for, for-each 내부 반복(internal iteration) :반복의 제어권을 스트림 내부에 넘기고,“무엇을 할지”만 정의하면 스트림이 알아서 반복을 처리합니.. 2025. 1. 24.
Java 8에 추가된 Optional에 대해 알아보기 Optional은 null처리를 하기 위한 도구가 맞는가?Optional은 Java 8에서 등장한 null 처리를 보다 안전하게 하기 위한 도구입니다. 하지만 “null을 없애기 위해” 무분별하게 사용하는 경우,오히려 코드의 복잡성을 높이고 성능을 저하시킬 수 있습니다. Optional을 어떻게 올바르게 사용할 수 있을지 함께 알아봅시다. 😌 Optional은 'null을 없애는 도구가 아니다.많은 사람들이 Optional을 “null을 없애기 위한 도구”로 착각하지만,정확히 말하면 “null을 안전하게 다루기 위한 래퍼(wrapper)”입니다. 즉, Optional의 목적은 null을 완전히 없애는 게 목적이 아니라,“값이 없을 수도 있다”는 상황을 명시적이고 안전하게 표현하기 위한 포장지입니다. 공.. 2024. 11. 10.