728x90
::new의 의미와 사용 방법
Java에서 ::new는 메서드 참조(Method Reference) 중 하나로, 특정 클래스의 **생성자(Constructor)**를 참조하는 표현입니다. 이는 람다 표현식의 축약형으로 사용되며, 간결하고 가독성이 좋은 코드를 작성할 수 있도록 도와줍니다.
문맥에서의 분석
java
코드 복사
memoList.values().stream() .map(MemoResponseDto::new) .toList();
이 코드의 흐름:
- memoList.values(): memoList라는 자료구조(아마도 Map)의 값들을 가져옴.
- .stream(): 값들의 스트림(Stream)을 생성.
- .map(MemoResponseDto::new): 스트림의 각 요소를 MemoResponseDto 생성자를 사용해 새로운 객체로 변환.
- .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 |