NounC2en
coproduct
//ˈkoʊˌprɒdʌkt//
Core Image쌍대적 결합 (Dual Construction)
기존의 '곱(product)' 개념을 거울에 비춘 듯 화살표의 방향을 정반대로 뒤집어 놓은 상태. 두 개의 서로 다른 흐름이 하나의 더 큰 틀 안으로 자연스럽게 합쳐지되, 각각의 출처가 보존되는 추상적인 결합의 장면.
Etymology Breakdown
Latin
co-
함께, 대칭적인, 쌍대의(dual)
Latin
product
곱, 결과물
Meanings & Expansion
1
Mathematics
범주론(Category Theory)에서 곱(product)의 쌍대 개념으로, 두 객체를 포함하는 가장 일반적인 객체.
수학적 '곱'이 여러 요소를 하나로 묶는 수렴적 구조라면, 'co-'가 붙은 이 단어는 그 구조를 뒤집어 두 대상을 포괄하는 최소한의 상위 구조를 정의합니다.
“In the category of sets, the coproduct is the disjoint union.”
집합의 범주에서 코프로덕트(coproduct)는 서로소 합집합이다.C2
2
Computer Science
컴퓨터 과학의 타입 이론에서 두 타입 중 하나를 가질 수 있는 합타입(Sum Type).
수학적 코프로덕트 개념이 프로그래밍 언어로 확장되어, 'A 또는 B'의 구조를 가진 데이터 타입을 의미하게 되었습니다.
“The coproduct of two types represents a choice between them.”
두 타입의 코프로덕트는 그들 사이의 선택을 나타낸다.C2
vs. Sum
특정 범주(예: 아벨 군)에서는 코프로덕트를 'Sum' 또는 'Direct Sum'이라고 부르지만, 'Coproduct'는 모든 수학적 범주에서 통용되는 더 엄밀하고 일반적인 용어입니다.
Cultural Context
현대 추상 수학과 함수형 프로그래밍(Haskell, Scala 등)에서 매우 빈번하게 등장하는 용어로, 논리적인 'OR' 관계를 구조화한 것입니다.