1. 함수(Function)란 무엇인가
정의
함수는 두 집합 A와 B에 대해, A의 각 원소를 B의 원소 중 단 하나에 대응시키는 규칙이다.
핵심 슬로건
"입력하면, 출력된다!"
함수는 입력값을 받으면 특정 규칙에 따라 단 하나의 출력값을 생성하는 매핑 머신(Mapping Machine) 이다.
자판기 비유
자판기에서 콜라 버튼을 누르면(입력) → 콜라가 나온다(출력). 같은 버튼을 눌렀는데 어떤 날은 콜라, 어떤 날은 사이다가 나오면? 그건 함수가 아니다.
함수의 3대 단계
| 입력 (Input) | 정의역의 원소 | 2 |
| 규칙 적용 | 정의된 변환 | 2² 계산 |
| 출력 (Output) | 공역의 원소 (단 하나) | 4 |
미적분학 vs 이산수학의 함수 차이 ⭐
| 입력/출력 | 숫자만 (실수 ℝ) | 임의의 객체 (숫자 아니어도 됨) |
| 예시 | f(x) = x² | 학생 → 성적, 단어 → 번역 |
| 범위 | 좁음 | 매우 넓음 |
💡 핵심 통찰: 이산수학은 "숫자가 아닌 것들" 사이의 매핑까지 함수로 다룬다. 학생→성적, URL→웹페이지, 사람→주민번호 — 모두 함수다.
2. 함수의 가장 중요한 규칙 — "단 하나만(Exactly One!)" ⭐
함수가 함수이기 위해 만족해야 할 단 한 가지 절대 규칙이다.
A의 각 원소는 B의 원소 중 정확히 하나에 대응된다.
함수 vs 함수 아님 — 비교 예시
| 학생 → 그 학생의 학번 | ⭕ 함수 | 한 학생당 학번 하나 |
| 학생 → 그 학생이 듣는 과목 | ❌ 함수 아님 | 학생이 여러 과목 들음 |
| 사람 → 그 사람의 친한 친구 | ❌ 함수 아님 | 친구가 여러 명일 수 있음 |
| 한국 시민 → 주민등록번호 | ⭕ 함수 | 한 명당 번호 하나 |
| 영어 단어 → 한국어 번역 | △ | 단어에 따라 번역 여러 개 가능 (모호) |
핵심 키워드
"한 명당 하나" 또는 "한 입력당 하나의 출력"
이 조건만 만족하면 함수다.
3. 부분함수(Partial Function) — 느슨한 형제
정의
정의역 A의 각 원소에 대해 공역 B의 원소를 0개 또는 1개만 대응시키는 관계.
일반 함수 vs 부분함수 비교
| 대응 개수 | 정확히 1개 | 0개 또는 1개 |
| 슬로건 | "Exactly one!" | "Zero or one!" |
| 정의역 활용 | 모든 원소 대응 필수 | 일부 원소만 대응 가능 |
자판기 비유
| 콜라 버튼 → 콜라 | 항상 음료 나옴 | 품절일 수 있음 |
| 사이다 버튼 → 사이다 | 항상 음료 나옴 | 품절일 수 있음 |
| 환타 버튼 → 환타 | 항상 음료 나옴 | 품절일 수 있음 |
💡 컴퓨터 과학에서의 의미: 모든 입력에 대해 항상 결과를 반환하지 않는 함수(예: 0으로 나누기 시 정의되지 않음)는 부분함수다. 예외 처리·null 반환 등의 개념이 여기서 비롯된다.
4. 함수의 그래픽 표현 ⭐
복잡한 함수 관계는 그림으로 보면 직관적으로 이해된다. 두 가지 표준 표현 방식이 있다.
방법 ① 이분 그래프(Bipartite Graph)
두 집합 A와 B를 각각 노드(점) 로 표현하고, 함수 관계를 직선 화살표로 연결.
집합 A 집합 B
a ●─────────● 1
b ●─────────● 2
c ●─────────● 3
d ●─────────● 4
규칙: 정의역 A의 각 노드에서 화살표는 정확히 하나만 나가야 함 (함수 조건)
방법 ② 벤 다이어그램(Venn Diagram)
각 집합을 덩어리(원) 로 그리고, 원소들 간을 곡선 화살표로 연결.
┌──────────┐ ┌──────────┐
│ • a ────┼─────────┼→ • 1 │
│ • b ────┼─────────┼→ • 2 │
│ • c ────┼─────────┼→ • 3 │
│ (집합A) │ │ (집합B) │
└──────────┘ └──────────┘
두 표현 방식 비교
| 시각 효과 | 깔끔, 정렬 | 집합의 범주 강조 |
| 적합한 경우 | 매핑 관계 위주 | 집합 포함 관계 위주 |
| 직관성 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
💡 함수 판별 핵심: 어떤 그림을 보고 함수인지 판별할 때는 "정의역의 모든 노드에서 화살표가 정확히 하나씩만 나가는가?" 만 확인하면 된다.
5. 정의역·공역·치역 ⭐⭐⭐ 시험 핵심
함수의 '범위'를 정의하는 3대 개념이다. 이 셋의 차이를 명확히 구분하는 것이 14강의 핵심.
3가지 정의
| 정의역 | Domain | 함수에 입력될 수 있는 모든 원소의 집합 |
| 공역 | Codomain | 함수가 만들어낼 수 있는 가능한 모든 출력의 집합 |
| 치역 | Range | 실제로 매핑이 일어난 공역 원소들의 집합 |
식당 메뉴판 비유
| 식당이 가진 모든 재료 | 정의역 (입력 가능) |
| 식당의 전체 메뉴판 | 공역 (잠재적 결과) |
| 손님들이 실제로 주문해 만든 요리 | 치역 (실제 결과) |
모든 메뉴가 주문되는 건 아니므로, 치역 ⊆ 공역
6. 치역 ⊆ 공역 — 가장 헷갈리는 관계 ⭐
핵심 원칙
치역은 항상 공역의 부분집합이다.
Range ⊆ Codomain
치역이 공역과 같을 수도 있지만, 반드시 같지는 않다.
성적 부여 예시 ⭐
함수 f: 학생 → 성적
| 시작 시점 | 공역 = {A, B, C, D, E} (받을 수 있는 모든 성적) |
| 시험 후 결과 | 모든 학생이 A 또는 B만 받음 |
| 결론 | 치역 = {A, B}, 공역 = {A, B, C, D, E} (그대로 유지) |
C, D, E는 받을 수 있었지만 실제로 아무도 받지 못함 → 공역에는 있지만 치역에는 없음
시각적 이해
공역: {A, B, C, D, E}
│ │ │ │ │
✓ ✓ ✗ ✗ ✗ (실제 사용 여부)
└──┴──────────── → 치역: {A, B}
⚠️ 시험 함정 1순위: "치역 = 공역" 이라고 적으면 틀린다. 치역은 공역의 부분집합이며, 같을 수도 있고 더 작을 수도 있다.
7. 원상(Pre-image)과 상(Image)
정의
함수 f에서 a ∈ A가 b ∈ B에 매핑될 때:
| 상 | Image | a의 상 = b (a가 보내진 곳) |
| 원상 | Pre-image | b의 원상 = a (b로 보내진 출발점) |
예시
함수 f: f(2) = 4, f(3) = 4
| 2의 상은? | 4 |
| 3의 상은? | 4 |
| 4의 원상은? | 2와 3 (둘 다 가능) |
상 vs 원상 비교
| 방향 | 정의역 → 공역 | 공역 → 정의역 |
| 개수 | 정확히 1개 (함수 규칙) | 여러 개 가능 |
| 비유 | "어디로 갔는가" | "어디서 왔는가" |
💡 시험 핵심: 함수 규칙상 "상은 1개"지만, "원상은 여러 개일 수 있다". 이 비대칭이 단사함수(15강)의 정의 근거가 된다.
8. 부분집합의 상 (Image of S under f)
정의
정의역의 부분집합 S에 속하는 모든 원소들의 상을 모아놓은 집합.
f(S) = { f(s) | s ∈ S }
비유
식당의 '채식 메뉴'(부분집합 S)를 모두 주문했을 때, 실제로 나오는 요리들(부분집합의 상 f(S))을 모은 것.
예시
함수 f: f(b) = 1, f(c) = 4, f(d) = 1
부분집합 S = {b, c, d}일 때:
| b | 1 |
| c | 4 |
| d | 1 |
→ f(S) = {1, 4} (1은 중복이지만 집합이므로 한 번만)
핵심 성질
| f(S) ⊆ B | 부분집합의 상은 항상 공역의 부분집합 |
| 중복 제거 | 집합이므로 같은 상은 한 번만 표기 |
| f(A) = 치역 | 정의역 전체의 상이 곧 치역 |
💡 공식화: 정의역 전체 A에 대한 상 f(A)가 바로 치역(Range) 이다. 즉, 치역은 "정의역 전체에 대한 부분집합의 상"의 특수한 경우다.
9. 함수 판별 종합 — 시험 빈출 패턴
다음과 같은 다이어그램을 보고 함수인지 판별하는 문제가 시험에 자주 나온다.
판별 기준 3가지
| ① | 정의역의 모든 원소에서 화살표가 나감 |
| ② | 정의역의 각 원소에서 화살표가 정확히 하나만 나감 |
| ③ | 화살표가 공역 안의 원소를 가리킴 |
함수 판별 케이스별 정리
| 정의역 모든 원소에서 화살표 1개씩 | ⭕ 함수 | 모든 조건 만족 |
| 정의역 한 원소에서 화살표 2개 | ❌ 함수 아님 | 출력이 2개 (Exactly one 위반) |
| 정의역 한 원소에서 화살표 0개 | ❌ 함수 아님 (부분함수 가능) | 정의역 미사용 |
| 다른 정의역 원소들이 같은 공역 원소 가리킴 | ⭕ 함수 | 가능 (단사 X, 함수는 O) |
"함수이지만 단사가 아닌 경우" 시각화
A B
1 ─────→ X
2 ─────→ X ← 둘이 같은 곳 가리켜도 함수
3 ─────→ Y
이는 함수다. 단, 단사함수는 아니다 (15강에서 자세히).
10. 함수 표기법 정리
표준 표기
| f: A → B | 함수 f는 A에서 B로의 함수 |
| f(a) = b | a의 상은 b |
| a ↦ b | a를 b에 대응 (또 다른 표기) |
함수 묘사 예시
"f: ℝ → ℝ, f(x) = x²"
| 함수 이름 | f |
| 정의역 | ℝ (모든 실수) |
| 공역 | ℝ (모든 실수) |
| 규칙 | 입력을 제곱 |
| 치역 | [0, ∞) — 음수는 결과로 안 나옴 |
💡 위 예에서 공역 = ℝ이지만 치역 = [0, ∞) 이다. 음수는 절대 결과로 나오지 않으므로 치역이 더 작다. 이런 패턴이 시험에 자주 나온다.
📌 한눈에 보는 핵심정리
| 함수(Function) | A의 각 원소를 B의 원소 중 단 하나에 대응 |
| 함수의 절대 규칙 | "Exactly one!" — 입력당 출력 정확히 1개 |
| 부분함수 | "Zero or one!" — 0개 또는 1개 대응 |
| 그래픽 표현 | 이분 그래프, 벤 다이어그램 |
| 정의역(Domain) | 입력 가능한 모든 원소 |
| 공역(Codomain) | 출력 가능한 모든 원소 |
| 치역(Range) | 실제로 매핑된 공역 원소들 |
| 핵심 관계 | 치역 ⊆ 공역 (같지 않을 수 있음) |
| 상(Image) | a → b일 때, b는 a의 상 |
| 원상(Pre-image) | a → b일 때, a는 b의 원상 |
| 상의 개수 | 정확히 1개 |
| 원상의 개수 | 여러 개 가능 |
| 부분집합의 상 | f(S) = {f(s) | s ∈ S} |
| 표기 | f: A → B, f(a) = b |
🧠 예상문제 2제
문제 1. 함수 판별
다음 매핑 중 함수가 아닌 것은?
① 학생 → 그 학생의 생일 ② 자연수 → 그 수의 제곱 ③ 사람 → 그 사람의 형제자매 ④ 한국인 → 그 사람의 주민등록번호
👉 정답: ③
각 매핑 분석:
| ① | 학생 → 생일 | ⭕ | 한 명당 생일 하나 |
| ② | 자연수 → 제곱 | ⭕ | 한 수당 제곱값 하나 |
| ③ | 사람 → 형제자매 | ❌ | 형제자매가 0명, 1명, 또는 여러 명일 수 있음 |
| ④ | 한국인 → 주민번호 | ⭕ | 한 명당 주민번호 하나 |
💡 함수 판별 핵심: "한 입력에 출력이 정확히 하나"인지 확인. 형제자매는 0명일 수도, 5명일 수도 있어 함수의 "Exactly one" 조건을 위반한다. 이런 경우는 함수가 아니라 관계(Relation) 로 표현한다 (다음 단원).
문제 2. 정의역·공역·치역 구분
함수 f: ℝ → ℝ, f(x) = x² + 1에 대해 다음 중 올바른 설명은?
① 정의역과 치역은 같다 ② 공역은 [1, ∞)이다 ③ 치역은 [1, ∞)이고, 치역은 공역의 진부분집합이다 ④ 치역은 (−∞, ∞)이다
👉 정답: ③
분석:
| 정의역 | ℝ (문제에서 주어진 입력 집합) |
| 공역 | ℝ (문제에서 주어진 출력 가능 집합) |
| 실제 출력 범위 | x² ≥ 0 → x² + 1 ≥ 1 → 결과는 항상 1 이상 |
| 치역 | [1, ∞) |
| 치역 vs 공역 | [1, ∞) ⊂ ℝ → 치역은 공역의 진부분집합 ✅ |
각 선택지 분석:
| ① | 정의역 ℝ, 치역 [1, ∞) — 같지 않음 ❌ |
| ② | 공역은 문제에서 ℝ로 주어짐, [1, ∞)는 치역 ❌ |
| ③ | 치역 = [1, ∞), 공역 = ℝ → 진부분집합 ✅ |
| ④ | 음수와 0 미만 1까지의 값은 출력 불가 ❌ |
💡 핵심 통찰: 함수를 정의할 때 공역은 "임의로 설정"할 수 있지만, 치역은 함수 규칙에 의해 자동으로 결정된다. 공역을 ℝ로 잡았다고 해서 모든 실수가 결과로 나오는 것은 아니다.
'📌 SW전공-개념 > 이산구조' 카테고리의 다른 글
| [이산구조 개념-16] 행렬의 기초와 연산 — 숫자들의 사각형 세계 (1) | 2026.06.09 |
|---|---|
| [이산구조 개념-15] 함수의 성질과 연산 — 단사·전사·전단사부터 합성까지 (1) | 2026.06.08 |
| [이산구조 개념-13] 집합 연산과 항등 법칙 — 합집합·교집합부터 증명까지 (1) | 2026.06.06 |
| [이산구조 개념-12] 집합의 기초 — 원소·표기·부분집합부터 데카르트 곱 (0) | 2026.06.05 |
| [이산구조 특별편 2] 공리의 반란 — 수학은 어떻게 진화하는가 (0) | 2026.06.04 |