더북(TheBook)

3.1.4 함수 합성 이해하기

함수는 서로 합성해서 다른 함수를 만들어낼 수 있는 빌딩 블록이다. fg의 합성을 f°g라고 쓰며, f 라운드(round) g라고 읽는다.4 f(x) = x × 2이고 g(x) = x + 1이면 두 함수의 합성은 다음과 같다.

f°g(x) = f(g(x)) = f(x + 1) = (x + 1) × 2

f°g(x)f(g(x))는 동등하다. 여기서 합성을 f(g(x))라고 쓰면 x를 인자의 위치를 표시하기 위해 사용한다는 뜻이다. 반면 f°g라는 표기를 사용하면 인자의 위치를 지정하기 위한 변수를 사용하지 않고 함수의 합성을 표현할 수 있다. 이 함수에 5를 적용하면 다음 결과를 얻는다.

f°g(5) = f(g(5)) = f(5 + 1) = 6 × 2 = 12

일반적으로 f°gg°f가 다르다는 점을 알면 흥미롭다. 하지만 때로는 이 둘이 같은 결과를 낳는 경우도 있다. 앞의 예와 다음 예는 이 둘이 다른 경우를 보여준다.

g°f(5) = g(f(5)) = g(5 × 2) = 10 + 1 = 11

여기서 함수가 쓰인 순서와 함수가 적용되는 순서가 서로 반대라는 점에 유의하라. f°g라고 쓰면 g를 먼저 적용한 다음 f를 적용해야 한다.

 

 


4 역주 f 써클(circle) g, f 어바웃(about) g, f 애프터(after) g라고 읽기도 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.