{{위키데이터 속성 추적}}
{{다른 뜻}}
[[파일:Function machine2.svg|섬네일|함수는 입력값에 따라 출력값을 만들어 내는 ‘블랙 박스’와 같다.]]
[[수학]]에서 '''함수'''(函數, {{llang|en|function}}) 또는 '''사상'''(寫像, {{llang|en|map, mapping}})은 어떤 [[집합]]의 각 [[원소 (수학)|원소]]를 다른 어떤 집합의 유일한 원소에 대응시키는 [[이항 관계]]이다. 대략적으로, 한 [[변수 (수학)|변수]]의 값에 따라 다른 한 변수의 값이 정해질 때, 후자는 전자의 함수가 된다.

== 정의 ==
[[파일:Codomain2.SVG|섬네일|함수 <math>f</math>의 정의역 <math>X</math>, 공역 <math>Y</math>, 치역 <math>f(X)</math>]]
'''함수''' <math>f</math>는 다음과 같은 [[튜플]] <math>(X,Y,\operatorname{graph}f)</math>이다.
* <math>X</math>는 [[집합]]이며, 이를 <math>f</math>의 '''[[정의역]]'''이라고 한다.
* <math>Y</math>는 [[집합]]이며, 이를 <math>f</math>의 '''[[공역]]'''이라고 한다.
* <math>\operatorname{graph}f</math>는 [[곱집합]] <math>X\times Y</math>의 [[부분 집합]]이며, 이를 <math>f</math>의 '''[[함수의 그래프|그래프]]'''라고 한다.
이 튜플이 다음 조건을 만족시켜야지만 함수라고 한다.
* 임의의 <math>x\in X</math>에 대하여, <math>(x,y)\in\operatorname{graph}f</math>인 <math>y\in Y</math>가 유일하게 존재한다. 이러한 <math>y</math>를 <math>f(x)</math>라고  쓴다.
다시 말해, 함수는 정의역의 각 원소를 정확히 하나의 공역 원소에 대응시킨다.

표기
:<math>f\colon X\to Y</math>
는 <math>f</math>가 정의역 <math>X</math>, 공역 <math>Y</math>를 갖는 함수라는 뜻이다. 표기
:<math>f\colon x\mapsto y</math>
는 <math>f(x)=y</math>와 같은 뜻이다.

함수를 정의역과 공역을 생략하여 다음과 같이 표기하기도 한다.
:<math>f</math>
:<math>f(x)</math>
:<math>f(x)\qquad(x\in X)</math>
:<math>y=f(x)</math>

== 예 ==
만약 어떤 가족의 각 구성원 <math>x</math>에 대하여, <math>f(x)</math>가 <math>x</math>의 생년월일이라면, <math>f(x)</math>는 <math>x</math>의 함수가 된다. 이는 각 가족 구성원이 어느 날엔가 태어났고 동시에 두 날에 태어났을 수 없기 때문이다. 이 경우 정의역은 가족 구성원의 집합, 공역은 모든 날짜의 집합으로 취할 수 있다.

함수
:<math>f\colon\{1,2,3\}\to\{\mathrm A,\mathrm B,\mathrm C,\mathrm D\}</math>
:<math>f\colon 1\mapsto\mathrm D</math>
:<math>f\colon 2\mapsto\mathrm A</math>
:<math>f\colon 3\mapsto\mathrm B</math>
는 정의역이 <math>\{1,2,3\}</math>, 공역이 <math>\{\mathrm A,\mathrm B,\mathrm C,\mathrm D\}</math>이며, 1, 2, 3을 각각 <math>\mathrm D</math>, <math>\mathrm A</math>, <math>\mathrm B</math>로 대응시키는 이항 관계를 나타낸다.

<math>\mathbb R</math>가 [[실수]]의 집합이라고 하자. 그렇다면
:<math>f\colon\mathbb R\to\mathbb R</math>
:<math>f\colon x\mapsto x^2</math>
는 각 실수를 [[제곱]]시키는 함수이다. 반면, 각 실수에 그보다 큰 실수를 대응시키는 이항 관계는 함수가 아니다. 이는 각 실수보다 큰 실수는 무한히 많으므로 유일하지 않기 때문이다.

<math>\{c\}</math>가 하나의 원소만을 갖는 집합이라고 하자. 그렇다면 임의의 집합 <math>X</math>에 대하여, <math>X</math>를 정의역, <math>\{c\}</math>를 공역으로 하는 유일한 함수
:<math>f\colon X\to\{c\}</math>
:<math>f\colon x\mapsto c</math>
가 존재한다.

<math>\varnothing</math>이 [[공집합]]이라고 하자. 그렇다면 임의의 집합 <math>Y</math>에 대하여, <math>\varnothing</math>을 정의역, <math>Y</math>를 공역으로 하는 유일한 함수
:<math>f\colon\varnothing\to Y</math>
가 존재한다. <math>Y=\varnothing</math>일 경우 이는 공역이 공집합인 유일한 함수이다.

== 종류 ==
=== 단사 함수와 전사 함수 ===
{{본문|단사 함수|전사 함수|전단사 함수}}
<gallery mode="packed">
Injection.svg|단사 함수의 예
Surjection.svg|전사 함수의 예
Bijection.svg|전단사 함수의 예
</gallery>
함수 <math>f\colon X\to Y</math>에 대하여, 다음과 같은 성질들을 정의할 수 있다.
* '''[[단사 함수]]''': 임의의 정의역 원소 <math>x,y\in X</math>에 대하여, 만약 <math>f(x)=f(y)</math>라면, <math>x=y</math>이다. 즉, 서로 다른 정의역 원소는 서로 다른 공역 원소에 대응한다.<ref name="이상구" />
* '''[[전사 함수]]''': 임의의 공역 원소 <math>y\in Y</math>에 대하여, <math>y=f(x)</math>인 정의역 원소 <math>x\in X</math>가 존재한다. 즉, <math>f</math>의 [[치역]]은 <math>f</math>의 공역과 같다.<ref name="이상구" />
* '''[[전단사 함수]]''': <math>f</math>는 단사 함수이며, 전사 함수이다. 이는 <math>f</math>가 [[역함수]]를 갖는 것과 동치이다.<ref name="이상구" />

=== 특별한 정의역·공역을 갖는 함수 ===
[[파일:Complex gamma.jpg|섬네일|[[감마 함수]]의 그래프]]
특별한 정의역 또는 공역을 갖는 함수는 특별한 이름이 붙는다.
{| class="wikitable"
! 정의역 !! 공역 !! 이름
|-
| <math>\mathbb N</math> || || '''[[수열]]'''
|-
| <math>\mathbb R</math>의 [[열린집합]] || || '''실변수 함수'''(實變數函數, {{llang|en|function of a real variable}})
|-
| || <math>\mathbb R</math> || '''실숫값 함수'''(實數-函數, {{llang|en|real-valued function}})
|-
| <math>\mathbb C</math>의 열린집합 || || '''복소변수 함수'''(複素變數函數, {{llang|en|function of a complex variable}})
|-
| || <math>\mathbb C</math> || '''복소값 함수'''(複素-函數, {{llang|en|complex-valued function}})
|-
| <math>\mathbb R^n</math> (또는 <math>\mathbb C^n</math>)의 열린집합 || || '''다변수 함수'''(多變數函數, {{llang|en|multivariate function}})
|}
특별한 정의역을 갖는 함수에 대하여 추가적인 성질들을 정의할 수 있다. 예컨대 두 [[위상 공간 (수학)|위상 공간]] 사이의 함수에 대하여 [[연속 함수]]의 개념을 정의할 수 있으며, 두 [[매끄러운 다양체]] 사이의 함수의 각종 매끄러움 성질들을 정의할 수 있다. 실변수 실숫값 함수 <math>f\colon U\to\mathbb R</math> (<math>U</math>는 <math>\mathbb R</math>의 [[열린집합]])의 경우 추가로 다음과 같은 성질들을 정의할 수 있다.
* [[단조함수]]<ref name="이상구" />
** [[증가함수]]: 임의의 <math>x,y\in U</math>에 대하여, 만약 <math>x\le y</math>라면, <math>f(x)\le f(y)</math>. 즉, <math>f</math>의 [[함수의 그래프|그래프]]는 오른쪽으로 갈수록 상승하는 곡선이다. 예를 들어, <math>U=\mathbb R</math>, <math>x\mapsto 2x</math>
** [[감소함수]]: 임의의 <math>x,y\in U</math>에 대하여, 만약 <math>x\le y</math>라면, <math>f(x)\ge f(y)</math>. 즉, <math>f</math>의 그래프는 오른쪽으로 갈수록 하강한다. 예를 들어, <math>U=\mathbb R</math>, <math>x\mapsto-2x</math>
* [[홀함수와 짝함수]]<ref name="박은순">{{서적 인용
|저자=박은순
|제목=쉬운 미분·적분학
|출판사=숭실대학교출판부
|날짜=2008
|isbn=89-7450-235-6
}}</ref>{{rp|130}}
** [[홀함수]]: 임의의 <math>x\in U</math>에 대하여, <math>-x\in U</math>이며 <math>f(-x)=-f(x)</math>. 즉, <math>f</math>의 그래프는 원점에 대하여 대칭이다. 예를 들어, <math>U=\mathbb R</math>, <math>x\mapsto x^3</math>
** [[짝함수]]: 임의의 <math>x\in U</math>에 대하여, <math>-x\in U</math>이며 <math>f(-x)=f(x)</math>. 즉, <math>f</math>의 그래프는 y축에 대하여 대칭이다. 예를 들어, <math>U=\mathbb R</math>, <math>x\mapsto x^2</math>
* [[주기 함수]]: 임의의 <math>x\in U</math>에 대하여, <math>x+T\in U</math>이며 <math>f(x+T)=f(x)</math>. 즉, <math>f</math>의 그래프는 x축 방향의 평행 이동 대칭을 갖는다. 대표적으로 모든 [[삼각 함수]]는 주기 함수다.

=== 조각마다 정의된 함수 ===
[[파일:Upper semi.svg|섬네일|이 함수는 불연속점 <math>x_0</math>을 가지지만 각 구간 <math>[-\infty,x_0)</math>, <math>[x_0,\infty)</math>에서 매끄럽다.]]
두 [[매끄러운 다양체]] <math>X,Y</math> 사이의 함수 <math>f\colon X\to Y</math>에 대하여, 다음 두 조건을 만족시키는 유한 개의 서로소 집합 <math>X_1,\dotsc,X_n\subset X</math>이 존재한다면, <math>f</math>를 '''조각마다 〜 함수'''라고 한다.
* <math>X=X_1\cup\cdots\cup X_n</math>
* 각 <math>i=1,\dotsc,n</math>에 대하여, <math>D_i\subseteq X_i\subseteq\operatorname{cl}D_i</math>인 [[영역 (해석학)|영역]] <math>D_i\subseteq X</math>가 존재한다.
* 각 <math>i=1,\dotsc,n</math>에 대하여, <math>f\restriction X_i</math>는 〜 함수이다.
특히, 정의역이 실수 [[구간]]인 경우, 정의역은 작은 구간들로 분할되어야 한다. 예를 들어, <math>[0,1]\subseteq\mathbb R</math>의 분할의 한 가지 예는 다음과 같다.
:<math>[0,1]=[0,1/4)\sqcup[1/4,1/2)\sqcup\{1/2\}\sqcup[1/2,1]</math>
예를 들어, 실수 [[절댓값]] 함수는 조각마다 [[일차 함수]]이다. [[부호 함수]]는 조각마다 [[상수 함수]]이다. 함수
:<math>f\colon\mathbb R\to\mathbb R</math>
:<math>f\colon x\mapsto\begin{cases}x^2&x<1/2\\-x^2+2x&x\ge1/2\end{cases}</math>
는 조각마다 [[연속 함수]]이다.

=== 다가 함수 ===
{{본문|다가 함수}}
{{참고|분지 절단}}
{{참고|음함수 정리}}
[[파일:Function with two values 1.svg|섬네일|다가 함수의 예]]
[[다가 함수]] <math>f\colon X\to Y</math>의 정의는 함수의 조건을 다음과 같이 약화시켜 얻는다.
* 임의의 <math>x\in X</math>에 대하여, <math>(x,y)\in\operatorname{graph}f</math>인 <math>y\in Y</math>가 적어도 하나 존재한다.
즉, 다가 함수는 정의역의 각 원소를 적어도 하나의 공역 원소에 대응시키지만, 함수와 달리 여러 개의 공역 원소에 대응시킬 수 있다. 다가 함수 <math>f\colon X\to Y</math>는 일반적으로 <math>X</math>에서 <math>Y</math>로 가는 함수가 아니지만 [[멱집합]]으로 가는 함수
:<math>f\colon X\to\mathcal P(Y)</math>
와 동치이다.

[[복소수]]의 [[거듭제곱]]은 대표적인 다가 함수이다. 특히 음이 아닌 실수의 [[제곱근]]
:<math>f\colon[0,\infty)\to\mathbb R</math>
:<math>f\colon x\mapsto\pm\sqrt x</math>
은 (양의 실수가 두 개의 제곱근을 가지므로) 다가 함수이다.

일반적인 함수를 다가 함수와 구별하기 위해 '''일가 함수'''(一價函數, {{llang|en|single-valued function}})라고 부르기도 한다.<ref name="이상구">[http://matrix.skku.ac.kr/sglee/calculus/new1.pdf 1. 기본개념], 성균관대학교 대수학 연구실 이상구 교수 홈페이지</ref>

=== 부분 정의 함수 ===
{{본문|부분 정의 함수}}
[[부분 정의 함수]] <math>f\colon X\to Y</math>는 다음과 같이 약화된 조건을 사용하여 정의한다.
* 임의의 <math>x\in X</math> 및 <math>y,z\in Y</math>에 대하여, 만약 <math>(x,y),(x,z)\in\operatorname{graph}f</math>라면 <math>y=z</math>이다.
즉, <math>X</math>의 각 원소는 유일한 <math>Y</math>의 원소에 대응하거나, 어떤 <math>Y</math>의 원소에도 대응하지 않는다. 부분 정의 함수 <math>f\colon X\to Y</math>는 일반적으로 <math>X</math>에서 <math>Y</math>로 가는 함수가 아니다. 그러나 이는 다음과 같은 꼴의 함수와 동치이다.
:<math>f\colon X\cup\{\bullet_X\}\to Y\cup\{\bullet_Y\}</math>
:<math>f(\bullet_X)=\bullet_Y</math>
:<math>\bullet_X\not\in X</math>
:<math>\bullet_Y\not\in Y</math>

예를 들어, 역수를 취하는 함수
:<math>f\colon\mathbb R\to\mathbb R</math>
:<math>f\colon x\mapsto\frac 1x</math>
는 (0의 역수가 정의되지 않으므로) <math>\mathbb R</math> 위의 부분 정의 함수이다. 이 부분 정의 함수는 정의역을 0이 아닌 실수로 축소하거나 공역에 (음과 양을 구분하지 않는) 무한대 <math>\widehat\infty</math>를 추가하여 함수로 만들 수 있다.

일반적인 함수를 부분 정의 함수와 구별하기 위해 '''전함수'''(全函數, {{llang|en|total function}})라고 부르기도 한다.

== 연산 ==
=== 상과 원상 ===
{{본문|상 (수학)}}
집합 <math>A\subseteq X</math> 및 함수 <math>f\colon X\to Y</math>에 대하여,
:<math>\{f(a)\colon a\in A\}</math>
를 <math>A</math>의 '''상'''이라고 하며, <math>f(A)</math>로 쓴다. 집합 <math>B\subseteq Y</math> 및 함수 <math>f\colon X\to Y</math>에 대하여,
:<math>\{x\in X\colon f(x)\in B\}</math>
를 <math>B</math>의 '''원상'''이라고 하며, <math>f^{-1}(B)</math>로 쓴다. 정의역의 상 <math>f(X)</math>을 '''[[치역]]'''이라고 한다.

예를 들어, [[사인 함수]]
:<math>\sin\colon\mathbb R\to\mathbb R</math>
의 치역은 <math>[-1,1]</math>이며, <math>\{1\}</math>의 원상은
:<math>\left\{\left(2n+\frac 12\right)\pi\colon n\in\mathbb Z\right\}</math>
이다. 여기서 <math>\mathbb Z</math>는 [[정수]]의 집합, <math>\pi</math>는 [[원주율]]이다.

=== 역함수 ===
{{본문|역함수}}
함수 <math>f\colon X\to Y</math>에 대하여, 다음 두 조건이 서로 [[동치]]이다.
* 임의의 <math>y\in Y</math>에 대하여, <math>y=f(x)</math>인 <math>x\in X</math>가 유일하게 존재한다.
* <math>f</math>는 [[전단사 함수]]이다.
이 경우 [[정의역]]과 [[공역]]이 뒤바뀌고 대응의 방향이 반대로 바뀐 함수
:<math>f^{-1}\colon Y\to X</math>
:<math>f^{-1}\colon f(x)\mapsto x</math>
를 생각할 수 있다. 이를 <math>f</math>의 '''[[역함수]]'''라고 한다.

예를 들어, [[지수 함수]]
:<math>\exp\colon\mathbb R\to(0,\infty)</math>
는 전단사 함수이며, 그 역함수는 [[로그 함수]]
:<math>\ln\colon(0,\infty)\to\mathbb R</math>
이다.

=== 합성 ===
{{본문|함수의 합성}}
첫째 함수의 공역과 둘째 함수의 정의역이 같은 두 함수 <math>f\colon X\to Y</math> 및 <math>g\colon Y\to Z</math>에 대하여, <math>X</math>의 원소를 먼저 <math>f</math>를 통해 <math>Y</math>의 원소에 대응시키고, 다시 <math>g</math>에 따라 <math>Z</math>의 원소로 대응시키는 함수
:<math>g\circ f\colon X\to Z</math>
:<math>g\circ f\colon x\mapsto g(f(x))</math>
를 생각할 수 있다. 이를 <math>f</math>와 <math>g</math>의 '''[[함수의 합성|합성]]'''이라고 한다.

예를 들어, 만약
:<math>X=Y=Z=\mathbb R</math>
:<math>f\colon x\mapsto 2x</math>
:<math>g\colon y\mapsto y+1</math>
일 경우
:<math>g\circ f\colon x\mapsto 2x+1</math>
이다.

=== 제한 ===
{{본문|제한 (수학)}}
함수 <math>f\colon X\to Y</math>의 정의역의 [[부분 집합]] <math>A\subseteq X</math>으로의 '''제한'''(制限, {{llang|en|restriction}})은 다음과 같은 함수를 일컫는다.
:<math>f\restriction A\colon A\to Y</math>
:<math>f\restriction A\colon x\mapsto f(x)</math>
즉, <math>f</math>의 대응 규칙을 유지한 채 정의역만 <math>A</math>로 줄인 함수이다.

=== 호환되는 함수족으로 유도되는 함수 ===
함수족 <math>(f_i\colon X_i\to Y_i)_{i\in I}</math>가 다음 조건을 만족시킨다고 하자.
* 임의의 <math>i,j\in I</math> 및 <math>x\in X_i\cap X_j</math>에 대하여, <math>f_i(x)=f_j(x)</math>
그렇다면 함수들을 정의역의 [[합집합]]에서 공역의 합집합으로 가는 하나의 함수
:<math>f\colon\bigcup_{i\in I}X_i\to\bigcup_{i\in I}Y_i</math>
:<math>f\restriction X_i=f_i</math>
로 합칠 수 있다.<ref name="daimm">{{서적 인용
|저자1=戴牧民
|저자2=陈海燕
|저자3=郑顶伟
|제목=公理集合论导引
|언어=zh
|출판사=科学出版社
|위치=北京
|날짜=2011
|isbn=978-7-03-031276-1
}}</ref>{{rp|16, 21}}

=== 점별 연산 ===
{{본문|점별 연산}}
정의역이 같은 함수족 <math>(f_i\colon X\to Y_i)_{i\in I}</math>에 대하여, 공역의 [[곱집합]]으로 가는 함수
:<math>(f_i)_{i\in I}\colon X\to\prod_{i\in I}Y_i</math>
:<math>(f_i)_{i\in I}\colon x\mapsto(f_i(x))_{i\in I}</math>
를 정의할 수 있다.

특수한 공역을 갖는 함수에 대하여 점별 연산을 정의할 수 있으며, 이는 위 함수와 공역 위 연산의 합성을 통해 나타낼 수 있다. 예를 들어, 두 실숫값 함수 <math>f,g\colon X\to\R</math>에 대하여, <math>(f,g)\colon X\to\mathbb R^2</math>와 실수의 덧셈의 [[함수의 합성|합성]]을 <math>f</math>와 <math>g</math>의 '''점별합'''(點別合, {{llang|en|pointwise sum}}) <math>f+g</math>라고 하며, 실수의 곱셈과의 합성을 <math>f</math>와 <math>g</math>의 '''점별곱'''(點別-, {{llang|en|pointwise product}}) <math>fg</math>라고 한다. 구체적으로 이들은 각각 다음과 같다.
:<math>f+g\colon X\to\mathbb R</math>
:<math>f+g\colon x\mapsto f(x)+g(x)</math>
:<math>fg\colon X\to\mathbb R</math>
:<math>fg\colon x\mapsto f(x)g(x)</math>

== 역사 ==
[[삼각함수]]와 같은 특정 함수에 대한 연구는 오래전부터 있어 왔다. 16세기 [[라이프치히 대학교]]의 수학 교수이자 [[코페르니쿠스]]의 《[[천구의 회전에 관하여]]》가 출간되는데 큰 역할을 하였던 [[레티쿠스]]는 1596년 《팔라티누스 삼각형 서(書)》({{llang|la|Opus Palatinum de triangulis}})에서 삼각함수표를 정리하여 발표하기도 하였다.<ref>과학동아편집실, 수학자를 알면 공식이 보인다, 성우, 2002, 72-74쪽</ref> 그러나 당시의 연구는 현재의 함수 정의에 확립되어 있는 [[관계 (수학)|관계]]에 대한 개념이 없이 단순히 계산의 편의를 도모하기 위한 것이었다. 한편, [[르네 데카르트]]는 [[데카르트 좌표계]]를 이용하여 오늘날 함수의 관계식에 해당하는 [[방정식]]을 [[함수의 그래프|그래프]]로 표현하는 방법을 제시하였다.<ref>과학동아편집실, 수학자를 알면 공식이 보인다, 성우, 2002, 82-88쪽</ref>

17세기에 도입한 대부분의 함수는 함수 개념이 충분히 인식되기 이전에는 곡선, 특히 운동 궤적으로서 연구되었다. 1667년, [[제임스 그레고리]]({{llang|en|James Gregory}})는 논문 《원과 쌍곡선의 구적법에 대하여》({{llang|la|Vera Circuli et Hyperbolae Quadratura}})에서 함수를 다른 양들에 대한 대수 연산 및 극한 연산을 통해 얻는 양으로 정의하였다. 1665년부터, 아이작 뉴턴은 줄곧 “플루언트”({{llang|en|fluent}})라는 용어로 변수 간 관계를 지칭하였다. 1673년, [[고트프리트 빌헬름 라이프니츠]]는 오늘날 쓰이는 용어인 “함수”({{llang|en|function}})을 곡선 위 점에 따라 변화하는 양으로 정의하였다. 1697년, [[요한 베르누이]]는 함수를 상수와 변수가 대수 연산 및 초월 연산을 통해 구성하는 양으로 정의하였으며, 1698년에 라이프니츠의 용어를 채택하였다. 1714년, 라이프니츠는 저서 《역사》({{llang|la|historia}})에서 함수를 변수에 의존하는 양으로 정의하였다. 그러나, 그는 여태 [[미분 가능한 함수]]만을 다루었다.

[[레온하르트 오일러]]는 1734년에 오늘날 쓰이는 표기법 <math>f(x)</math>를 도입하였다. 또한, 오일러는 1748년에 저서 《무한 해석 입문》({{llang|la|Introductio in Analysin Infinitorum}})에서 함수를 변수와 상수로 구성된 임의의 해석적 수식으로 정의하였으며, 1775년에 저서 《미분학 입문》({{llang|la|Institutiones Calculi Differentialis}})에서 변수에 의존하며 그 변화에 따라 변화하는 또 다른 변수로 정의하였다.

1797년, [[실베스트르 프랑수아 라크루아]]({{llang|fr|Sylvestre-François Lacroix}})는 저서 《미분과 적분에 대하여》({{llang|fr|Traité du Calcul Différentiel et du Calcul Intégral}})에서 수식으로 표현될 필요가 없는, 더 넓은 함수의 개념을 도입하였으며, 5차 방정식의 근이 5차 방정식의 계수의 함수라는 예시를 들었다. 1811~15년, [[조제프루이 라그랑주]]는 저서 《역학 해석》({{llang|la|Mecanique analytique}})에서 “함수”라는 용어를 거의 모든 유형의 함수에서 사용하였다.

[[조제프 푸리에]]는 함수가 해석적 수식으로 표현될 수 있을 필요가 없다고 주장하였으나, 동시에 모든 함수는 푸리에 급수로 표현될 수 있다고 주장하였다. 그러나 그는 임의의 유한 구간에서 유한 개의 불연속점만을 갖는 함수만을 다루었다.

1837년, [[페터 구스타프 르죈 디리클레]]는 논문 《완전히 임의인 함수의 사인 및 코사인 함수 표현에 대하여》({{llang|de|Ober die Darstellung ganz willkurlicher Functionen durch Sinus-und Cosinusreihen}})에서, <math>y</math>가 <math>x</math>의 함수라는 것을 <math>x</math>의 주어진 구간에서의 임의의 값에 <math>y</math>의 유일한 값이 대응하는 것으로 정의하였으며, <math>y</math>가 <math>x</math>에 따라 어떤 법칙을 통해 결정되거나, 수학 공식으로 표현될 필요는 없다고 설명하였다. 이는 오늘날에도 사용되는 정의이다.

함수의 현대적 정의는 [[게오르크 칸토어]]가 제기한 [[집합론]]에 기반한 것이다. [[버트런드 러셀]]은 [[집합]]을 기반으로 수학의 공리를 재서술하면서 함수 역시 이를 기반으로 재정의하였다.<ref>[http://fair-use.org/bertrand-russell/the-principles-of-mathematics/index The Principles of Mathematics]</ref>

=== 어원 ===

17세기 [[고트프리트 빌헬름 라이프니츠]]는 수학 저서에서 라틴어 단어 {{lang|la|functio}}를 주로 ‘기능’이란 뜻으로 썼다. 이후 [[요한 베르누이]] 등이 {{lang|la|functio}}를 기술적인 해석학 용어로 쓰기 시작했다. 이것이 다른 유럽 언어로 전파되었다.

‘함수(函數)’라는 용어를 쓰기 시작한 사람은 [[이선란]]과 {{임시링크|알렉산더 와일리|en|Alexander Wylie (missionary)}}이다. 그들은 번역서 《대수학(代數學)》(1859)과 《대미적습급(代微積拾級)》(1859)에서 영어 {{lang|en|function}}의 번역어로 ‘함수(函數)’라는 단어를 썼다. 드모르간은 《The Elements of Algebra》에서 function을 ‘변수를 담고 있는 식’으로 소개하는데, 이를 ‘상자’·‘담다’라는 뜻을 가진 한자 함(函)을 써서 의역한 것이다.

{{인용문|
Any expression which contains x in any way is called a function of x: thus a+x, a+bx<sup>2</sup>, &c.<br>
x를 어떤 형태로든 담고 있는 모든 식은 x의 함수로 부른다: 즉 a+x, a+bx<sup>2</sup> 등이다.
|[[오거스터스 드모르간]], 《The Elements of Algebra》<ref>{{서적 인용 |성=De Morgan |이름=Augustus |날짜=1837 |제목=The Elements of Algebra |url=https://books.google.co.kr/books?id=Q49aAAAAcAAJ&pg=PA168&lpg=PA168&dq=%22Any+expression+which+contains+x+in+any+way+is+called+a+function+of+x%22&source=bl&ots=-qqUzHuiEs&sig=ACfU3U2cnqcjfZGm1XiVffDr0LTUhCuf4g&hl=en&sa=X&ved=2ahUKEwjovPC97p7sAhWb7WEKHfM8CnEQ6AEwAHoECAEQAg#v=onepage&q=%22Any%20expression%20which%20contains%20x%20in%20any%20way%20is%20called%20a%20function%20of%20x%22&f=false |위치= |출판사= |쪽=168 |isbn= |확인날짜=2020-10-06 }}</ref>
}}

{{인용문|
凡此變數中函彼變數者，則此為彼之函數。<br>
이 변수가 안에 그 변수를 포함한다면, 이 (변수)는 그 (변수)의 함수라 한다.
|《대수학(代數學)》
}}

‘함수’가 영어 단어 {{lang|en|function}}의 발음을 음역한 단어라는 설이 있지만 두 발음이 크게 달라 근거가 희박하다. 또한 이선란이 만든 다른 번역어 [[상수]]·[[변수 (수학)|변수]]·[[계수]]·[[지수]]·[[급수 (수학)|급수]] 중의 그 어떤 것도 음역이 아니다.

== 각주 ==
{{각주}}

== 외부 링크 ==
{{위키공용분류|Functions}}
* {{수학노트|title=함수}}
* {{eom|title=Function}}
* {{매스월드|id=Function|title=Function}}
* {{웹 인용|url=http://ncatlab.org/nlab/show/function|제목=Function|웹사이트=nLab|언어=en}}

{{집합론}}
{{전거 통제}}

[[분류:함수와 사상| ]]
[[분류:집합론의 기본 개념]]
[[분류:초등 수학]]