일대일 함수와 일대일 대응의 차이: 정의역·공역·치역으로 구분하기
둘의 차이는 화살표가 겹치지 않는 데서 끝나지 않습니다. 공역의 원소가 하나도 남지 않았는지까지 확인해야 일대일 대응입니다. 아래 순서대로 보면 실수를 줄일 수 있습니다.

정의역·공역·치역은 서로 다른 역할입니다
일대일 함수와 일대일 대응을 구별할 때 가장 먼저 할 일은 오른쪽 상자 전체를 무심코 치역이라고 부르지 않는 것입니다. 정의역은 입력으로 허용한 원소의 모임, 공역은 출력이 도착하도록 미리 정한 원소의 모임, 치역은 실제 계산 또는 화살표를 통해 나온 값의 모임입니다. 즉 치역은 언제나 공역 안에 있지만 공역과 반드시 같지는 않습니다. 문제의 화살표 그림에서 오른쪽 상자의 테두리 안에 a, b, c, d가 적혀 있고 실제 화살표가 a, b, c까지만 닿았다면 공역은 네 원소이고 치역은 세 원소입니다. 이 차이가 바로 일대일 대응 여부를 가르는 정보입니다. 시작할 때 왼쪽에는 D, 오른쪽에는 C라고 표시하고, 실제 도착한 원소만 따로 체크해 두면 판단이 안정적입니다.
또한 집합의 원소 수만 보고 성급히 결론 내리지 않는 습관이 필요합니다. 유한집합에서 정의역과 공역의 수가 같다는 사실은 유용한 힌트지만, 화살표가 함수 조건을 만족하는지 또는 출력이 겹치는지는 별도로 확인해야 합니다. 정의역의 한 원소가 빠져 있거나 두 곳으로 향하면 애초에 함수가 아닙니다. 반대로 공역의 원소가 비어 있어도 일대일 함수일 수 있습니다. 따라서 세 집합의 이름과 실제 화살표의 끝점을 분리해 읽는 것이 모든 문제의 첫 단계입니다.
일대일을 말하기 전에 함수인지부터 봅니다
함수는 정의역의 모든 원소가 공역의 정확히 한 원소에 대응하는 관계입니다. 화살표 그림에서는 왼쪽의 각 원소에서 화살표가 하나씩, 빠짐없이 나오는지를 확인하면 됩니다. 어떤 입력에서 화살표가 두 개 나가면 하나의 입력에 출력이 둘이므로 함수가 아닙니다. 반대로 화살표가 전혀 없는 입력이 있어도 정의역 전체에 값이 정해지지 않았으므로 함수가 아닙니다. 오른쪽 원소에 화살표가 여러 개 들어오는 모습은 함수일 수 있지만, 그 다음 단계인 일대일 조건에서 탈락합니다.
시험에서 흔한 실수는 화살표가 오른쪽으로 향한다는 이유만으로 함수라고 생각하는 것입니다. 기준은 방향이 아니라 출발점입니다. 왼쪽 원소를 하나씩 손가락으로 짚으며 ‘화살표가 정확히 하나인가’를 확인하세요. 이 조건을 통과한 관계에 한해서만 일대일 함수 또는 일대일 대응이라는 말을 쓸 수 있습니다. 표로 제시된 문제라면 각 x값에 y값이 하나씩만 배정되었는지, 그래프라면 세로선 하나가 그래프를 두 번 만나지 않는지를 먼저 보는 것도 같은 원리입니다.
일대일 함수는 출력값이 겹치지 않습니다
함수 f가 일대일 함수라는 말은 서로 다른 입력이 같은 출력으로 가지 않는다는 뜻입니다. 기호로는 f(x₁)=f(x₂)이면 x₁=x₂라고 씁니다. 화살표 그림에서는 공역의 한 원소에 두 개 이상의 화살표가 들어오는지 확인하는 방식이 가장 빠릅니다. 두 입력이 같은 도착점으로 모이면 출력값이 겹쳤으므로 일대일 함수가 아닙니다. 반대로 각 도착점에 들어오는 화살표가 최대 한 개라면 일대일 함수 조건은 만족합니다.
여기서 ‘최대 한 개’라는 표현이 중요합니다. 어떤 공역 원소에 화살표가 아예 들어오지 않아도 일대일 함수일 수 있습니다. 예를 들어 정의역 {1, 2, 3}을 공역 {a, b, c, d}에 1→a, 2→b, 3→c로 보내면 세 화살표는 서로 다른 곳에 도착하므로 일대일 함수입니다. 그러나 d는 사용되지 않았습니다. 이 빈자리를 무시하면 일대일 함수와 일대일 대응을 같은 말로 오해하게 됩니다. 일대일 함수 판정에서는 우선 겹침만, 다음 단계에서 공역 전체 사용 여부를 확인해야 합니다.
일대일 대응은 일대일 함수에 ‘빠짐없음’이 더해집니다
일대일 대응은 일대일 함수이면서 동시에 공역의 모든 원소가 실제 출력값이 된 함수입니다. 다른 말로 전단사라고도 합니다. 따라서 화살표 그림에서는 두 조건을 모두 만족해야 합니다. 첫째, 오른쪽 어느 원소에도 화살표가 두 개 이상 모이지 않아야 합니다. 둘째, 오른쪽 상자 안에서 화살표가 닿지 않은 원소가 하나도 없어야 합니다. 첫째만 만족하면 일대일 함수이고, 둘째까지 만족해야 일대일 대응입니다. 간단히 말해 공역과 치역이 같아야 합니다.
유한한 두 집합에서 정의역과 공역의 원소 수가 같고 일대일 함수라면, 남는 공역 원소가 있을 수 없으므로 일대일 대응이라고 판단할 수 있습니다. 반대로 전사라는 정보와 두 집합의 원소 수가 같다는 정보가 주어져도 같은 결론을 얻습니다. 하지만 이런 지름길은 집합의 크기와 함수 조건이 문제에 명확히 주어졌을 때만 쓰는 것이 안전합니다. 공역이 생략되었거나 정의역이 제한된 식이라면, 문제에서 지정한 집합을 다시 확인한 뒤 판정해야 합니다.
같은 화살표도 공역을 바꾸면 결론이 달라집니다
정의역 {1, 2, 3, 4}에서 1→a, 2→b, 3→c, 4→d라고 해 봅시다. 공역이 {a, b, c, d}이면 네 원소가 각각 한 번씩 사용되므로 일대일 대응입니다. 그런데 화살표 자체는 그대로 둔 채 공역만 {a, b, c, d, e}로 바꾸면 e가 비게 됩니다. 이 관계는 여전히 함수이고, 출력도 서로 겹치지 않아 일대일 함수입니다. 다만 공역 전체가 쓰이지 않았으므로 일대일 대응은 아닙니다. 화살표 선만 확대해 보지 말고 공역 상자의 원소 목록까지 읽어야 하는 이유입니다.

반대로 공역의 모든 원소에 화살표가 도착하더라도 두 입력이 같은 곳으로 가면 일대일 대응이 아닙니다. 예를 들어 1→a, 2→a, 3→b처럼 a에 두 화살표가 모이면 함수이기는 하지만 일대일 함수가 아닙니다. ‘전부 채웠다’는 사실은 전사 조건에 관한 말일 뿐, 일대일성을 보장하지 않습니다. 항상 함수 조건, 출력 겹침, 공역의 빈자리라는 세 항목을 독립적으로 체크하세요.
식·표·그래프에서도 같은 기준을 적용합니다
식으로 주어진 함수는 f(x₁)=f(x₂)라고 놓고 정리했을 때 x₁=x₂만 나오는지 확인하면 일대일 함수 여부를 판정할 수 있습니다. 예를 들어 f(x)=2x+1은 2x₁+1=2x₂+1에서 x₁=x₂가 나오므로 실수 전체에서 일대일 함수입니다. 반면 f(x)=x²는 x=1과 x=-1이 모두 1로 가므로 실수 전체에서는 일대일 함수가 아닙니다. 그러나 정의역을 0 이상으로 제한하면 음수 입력이 사라져 일대일 함수가 됩니다. 함수 식만 보지 말고 정의역의 범위를 함께 읽어야 하는 이유입니다.
표에서는 서로 다른 x값에 같은 y값이 반복되는지 먼저 찾고, 그 뒤 문제에 적힌 공역의 값이 모두 표의 y값에 나타났는지 확인합니다. 예컨대 입력 1, 2, 3의 출력이 3, 5, 7이고 공역이 {3, 5, 7}이면 일대일 대응입니다. 공역이 {3, 5, 7, 9}라면 9가 남으므로 일대일 함수일 뿐입니다. 계산 실수를 줄이려면 출력값을 한 번 정렬해 보고, 공역 목록과 하나씩 대조하는 방법이 좋습니다.
수평선 판정과 역함수 관점으로 이해하기
그래프에서는 수평선 판정법을 사용합니다. 어떤 수평선이 함수 그래프와 두 번 이상 만나면 같은 y값에 서로 다른 x값이 있다는 뜻이므로 일대일 함수가 아닙니다. 포물선 y=x²가 대표적인 예입니다. 반면 직선 y=2x+1은 수평선이 한 번만 만나므로 일대일 함수입니다. 다만 그래프의 정의역이 일부 구간으로 제한되어 있으면 결론이 달라질 수 있습니다. 예를 들어 y=x²도 x≥0 범위에서는 수평선이 한 번만 만나므로 일대일 함수가 됩니다.
역함수는 이 차이를 기억하는 좋은 장치입니다. 출력값 하나에서 원래 입력값을 하나로 되돌아가려면 출력이 겹치지 않아야 하므로 일대일 함수여야 합니다. 그리고 공역 전체에서 역함수를 정의하려면 어느 공역 원소도 비어 있으면 안 되므로 일대일 대응이어야 합니다. 따라서 ‘역함수가 존재한다’는 말을 문제의 정의역과 공역 사이에서 엄밀히 쓸 때는 일대일 대응 조건을 함께 점검합니다. 단순히 식을 x에 대해 풀 수 있다는 인상만으로 판단하지 마세요.

시험에서 쓰는 30초 판정 순서
문제를 받으면 먼저 정의역의 모든 원소에서 화살표가 정확히 하나씩 나오는지 보세요. 여기서 하나라도 빠지거나 둘로 갈라지면 함수가 아니므로 이후의 일대일 판정은 멈춥니다. 다음으로 공역 쪽을 보고 두 화살표가 한 원소에 모이는지 찾습니다. 모이는 곳이 있으면 함수이지만 일대일 함수는 아닙니다. 마지막으로 공역에서 화살표를 받지 못한 원소가 있는지 확인합니다. 빈 원소가 없을 때만 일대일 대응이라고 답할 수 있습니다.
답안을 쓸 때는 ‘서로 다른 정의역의 원소가 서로 다른 공역의 원소에 대응하고, 공역의 모든 원소가 대응된다’처럼 두 조건을 함께 적으면 명확합니다. 반대로 일대일 함수라면 ‘서로 다른 입력이 같은 출력으로 가지 않는다’까지 쓰고, 공역의 빈 원소가 있으면 그 사실을 덧붙이세요. 이 짧은 순서를 반복하면 정의역·공역·치역이라는 용어가 낯설어도 화살표, 표, 식, 그래프 문제를 같은 원리로 풀 수 있습니다.
유한집합에서는 원소 수를 보조 도구로 씁니다
원소 수가 유한한 문제에서는 계산을 줄이는 방법도 있습니다. 정의역과 공역의 원소 수가 모두 n개이고 함수가 일대일이라면, 서로 다른 n개의 출력이 공역 안에 있어야 합니다. 공역도 n개뿐이므로 어느 하나도 남을 수 없고 자동으로 일대일 대응이 됩니다. 반대로 같은 조건에서 공역의 모든 원소가 한 번 이상 사용된다고 주어지면, n개의 입력이 n개의 자리를 채운 것이므로 같은 자리에 두 입력이 겹칠 수 없습니다. 이때도 일대일 대응입니다. 다만 이런 결론은 원소 수가 유한하고 정의역과 공역의 크기가 같다는 전제가 있을 때만 안전합니다. 무한집합에서는 부분집합과 전체집합의 원소 수가 같을 수 있으므로 같은 방식으로 판단하면 안 됩니다.
예를 들어 자연수 전체에서 f(n)=n+1은 서로 다른 입력을 서로 다른 출력으로 보내는 일대일 함수입니다. 하지만 공역을 자연수 전체로 잡으면 1은 어떤 입력의 출력도 아니므로 전사가 아니며 일대일 대응도 아닙니다. 유한집합에서 익힌 ‘같은 개수면 빈자리가 없다’는 감각을 무한집합에 그대로 적용하면 오류가 생기는 사례입니다. 문제에서 집합의 범위를 확인하는 습관이 중요한 이유입니다.
정의역이나 공역이 바뀌면 함수의 성질도 바뀝니다
같은 식이라도 어떤 집합 사이의 함수로 보느냐에 따라 일대일성과 일대일 대응 여부가 달라집니다. f(x)=x²를 실수 전체에서 실수 전체로 보내면 1과 -1이 같은 값 1로 가므로 일대일 함수가 아닙니다. 정의역을 0 이상 실수로 제한하면 서로 다른 입력이 같은 제곱값을 만들지 않으므로 일대일 함수가 됩니다. 여기에 공역을 0 이상 실수로 정하면 모든 0 이상 값이 어떤 제곱근에서 나오므로 일대일 대응이 됩니다. 공역을 실수 전체로 그대로 두면 음수 값이 남으므로 일대일 대응은 아닙니다.
이처럼 식의 모양만 외워 ‘제곱 함수는 일대일이 아니다’ 또는 ‘직선 함수는 언제나 대응이다’라고 답하면 위험합니다. 문제에서 f:A→B처럼 적어 준 A와 B가 정의역과 공역입니다. 구간, 자연수, 정수, 실수처럼 집합이 달라지는 표기를 먼저 동그라미 치고, 그 범위에서 출력이 겹치는지와 B의 모든 값이 나오는지를 차례로 따져 보세요. 조건을 바꿔 보는 연습은 개념을 암기보다 깊게 이해하게 합니다.
자주 헷갈리는 표현을 문장으로 구분하기
‘서로 다른 두 원소가 서로 다른 원소에 대응한다’는 문장은 일대일성에 초점을 둔 표현입니다. 반면 ‘두 집합의 원소가 남김없이 하나씩 짝지어진다’는 문장은 일대일 대응을 뜻합니다. 전자는 공역에 남는 원소가 있어도 성립할 수 있지만, 후자는 남는 원소도 겹치는 원소도 없어야 합니다. ‘전사’는 공역의 모든 원소가 적어도 하나의 입력과 연결된다는 뜻이고, ‘단사’는 한 공역 원소에 서로 다른 입력이 함께 연결되지 않는다는 뜻입니다. 일대일 대응은 단사와 전사를 동시에 만족하는 경우입니다.
답을 검토할 때는 내가 쓴 근거가 결론과 같은 수준인지 확인하면 좋습니다. ‘출력값이 다르다’만 썼다면 일대일 함수까지의 근거이고, 일대일 대응이라고 결론 내리려면 ‘공역 전체가 치역이다’라는 근거를 한 줄 더 써야 합니다. 반대로 공역이 모두 사용되었다는 말만으로는 출력 겹침을 배제할 수 없습니다. 두 조건을 따로 적는 작은 습관이 서술형 문제에서 부분 점수를 잃지 않는 가장 확실한 방법입니다.
자주 묻는 질문
일대일 함수면 언제나 일대일 대응인가요?
아닙니다. 공역의 모든 원소가 실제 출력값이 되어야 일대일 대응입니다.
공역과 치역이 같은지 어떻게 확인하나요?
공역의 원소 목록과 실제 화살표 끝 또는 출력값 목록을 대조합니다. 공역에 빈 원소가 없으면 둘은 같습니다.
그래프만으로 일대일 대응까지 알 수 있나요?
수평선 판정으로 일대일 함수는 확인할 수 있지만, 일대일 대응은 문제에서 정한 공역과 그래프의 치역이 같은지도 확인해야 합니다.