그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록JavaScript
JavaScript

커링(currying)이란 무엇이며 어떻게 활용하나요?

실무3/5
설계3/5
인간3/5
기초3/5

면접관의 질문 의도

정의만 알고 있는지, 클로저·부분 적용·함수 합성이 한 묶음으로 어떻게 움직이는지까지 보는지를 가른다. 어디까지 풀어쓰면 가독성이 좋아지고 어디부터 무너지는지에 대한 감각도 함께 본다.

큐레이션 답변

학습 자료

커링은 다인자 함수를 한 번에 한 인자씩 받는 함수 체인으로 바꾸는 기법이다. 클로저로 앞 인자를 가둬 부분 적용 함수를 만들고, 입출력이 단일 인자라 compose·pipe 합성에 자연스럽게 엮인다. 단 모든 함수를 커링하면 호출 흐름이 함수 이름 뒤로 가려져 추적이 어렵다. 도메인 표현력이 분명히 좋아지는 자리에서만 쓰는 게 보통이다.

좋은 답변 구조

  1. 01커링이 다인자 함수를 단일 인자 함수 체인으로 바꾸는 변환임을 정의한다
  2. 02클로저로 앞 인자를 고정해 부분 적용 함수가 만들어지는 동작 원리를 설명한다
  3. 03compose·pipe와 결합해 함수 조합이 자연스러워지는 이점을 든다
  4. 04남용 시 호출 흐름 추적이 어려워지는 한계와 적용 범위 기준을 정리한다

자주 실수하는 포인트

커링과 클로저를 같은 개념으로 묶어 설명하고 둘의 관계를 짚지 못한다
모든 함수를 커링해 호출 흐름이 함수 이름 뒤로 가려진다
부분 적용 함수에 일반 동사 이름만 붙여서 어떤 인자를 고정했는지 드러나지 않는다

실무 맥락

  • 조건 객체를 받아 술어 함수를 반환하는 필터·검색 유틸을 여럿 쌓는 환경
  • Ramda나 lodash-fp로 데이터 변환 파이프라인을 구성하는 프로젝트
  • 리덕스 셀렉터·이벤트 핸들러 팩토리처럼 일부 인자를 미리 묶어둔 함수가 자주 필요한 코드베이스

본인 경험에 녹이는 힌트

비슷한 함수가 인자만 다르게 반복돼 커링이나 팩토리로 정리한 경험이 있다면 이 질문과 연결할 수 있다

lodash-fp나 Ramda로 파이프라인을 짜본 경험이 있다면 합성과 커링이 맞물리는 지점을 풀어낼 수 있다

팀에서 커링·함수 합성을 어디까지 쓸지 컨벤션을 정해본 경험이 있다면 가독성 트레이드오프를 구체적으로 설명할 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1커링과 partial application은 어떻게 구분하나요
Q2타입스크립트에서 커링 함수 타입을 어떻게 정의하나요
Q3성능 관점에서 커링이 불리해지는 지점은 어디인가요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문