2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

thenApply

작성: sangseek | 게시 날짜: 2026/06/14 | 조회수: 3
[ 편집불가 ]

'thenApply'는 주로 Java의 CompletionStage/CompletableFuture API에서 쓰이는 메서드로, 비동기 작업의 결과를 받아 그 결과에 대한 변환(mapping)을 수행하고 그 변환 결과를 담는 새로운 CompletionStage를 반환합니다. 핵심 사항은 다음과 같습니다. - 용도: 이전 단계의 결과를 입력으로 받아 함수를 적용한 값을 다음 단계의 결과로 만드는 '맵(map)' 연산. - 반환값: CompletionStage (보통 CompletableFuture) — 새 비동기 단계가 반환됨. - 실행 시점/스레드: thenApply는 이전 단계가 완료된 스레드에서 즉시 함수를 실행합니다. (비동기 실행을 원하면 thenApplyAsync를 사용.) - 예외 처리: 이전 단계가 예외로 완료되면 함수는 호출되지 않고 반환 단계도 예외로 완료됩니다. 함수 내부에서 예외가 발생하면 반환 단계는 그 예외로 예외 완료됩니다. - 비교: - thenApply: 결과를 동기적으로 변환(map). - thenApplyAsync: 변환을 비동기(다른 스레드/스레드풀)로 수행. - thenCompose: 함수가 CompletableFuture를 반환할 때 사용(즉, flatMap처럼 중첩된 미래를 펼침). - thenAccept / thenRun: 결과 소비(부수효과) 전용. 간단한 예 (Java): CompletableFuture.supplyAsync(() -> 2) .thenApply(n -> n * 3) // 6 .thenApply(n -> "Result: " + n); // "Result: 6" 정리하면, thenApply는 비동기 파이프라인에서 결과를 변환해 새로운 단계로 연결하는 용도의 메서드입니다.
내용이 부정하다면 싫어요를 누르세요.