본문 바로가기
JAVA

stream에 대한 궁금증

by Wanado 2025. 1. 10.
728x90

::new의 의미와 사용 방법

Java에서 ::new는 메서드 참조(Method Reference) 중 하나로, 특정 클래스의 **생성자(Constructor)**를 참조하는 표현입니다. 이는 람다 표현식의 축약형으로 사용되며, 간결하고 가독성이 좋은 코드를 작성할 수 있도록 도와줍니다.


문맥에서의 분석

java
코드 복사
memoList.values().stream() .map(MemoResponseDto::new) .toList();

이 코드의 흐름:

  1. memoList.values(): memoList라는 자료구조(아마도 Map)의 값들을 가져옴.
  2. .stream(): 값들의 스트림(Stream)을 생성.
  3. .map(MemoResponseDto::new): 스트림의 각 요소를 MemoResponseDto 생성자를 사용해 새로운 객체로 변환.
  4. .toList(): 변환된 객체들을 리스트로 반환.

MemoResponseDto::new의 역할

MemoResponseDto::new는 MemoResponseDto 클래스의 생성자를 참조하는 코드입니다.
이는 다음 람다 표현식의 축약형입니다:

java
코드 복사
.map(item -> new MemoResponseDto(item))

따라서, 스트림의 각 요소를 MemoResponseDto 생성자를 사용하여 인스턴스화하는 작업을 수행합니다.

728x90

'JAVA' 카테고리의 다른 글

Garbage Collection  (0) 2025.01.31
@Override의 의미  (0) 2025.01.10
java 튜토리얼  (0) 2024.11.14
private과 static 차이  (1) 2023.11.24
Spring Security / JWT / OAuth  (0) 2023.03.02