03. 납음오행(納音五行) — 60갑자 납음 테이블·띠 궁합의 이론적 근거
선행 문서: 궁합 overview · 사주 01-간지 · 02-오행 궁합 관련 심화: 04-속궁합 · 풍수 04-24방위 엔진 연관: 신규
src/lib/saju/napeumTable.ts— 60갑자 납음 사전 신뢰도: L1(원전) + L2(교과서 정설). 일부 응용 해석은 L3.
개념 정의
**납음오행(納音五行)**은 60갑자(六十甲子) 각 쌍에 배정된 30개 오행 명칭 체계다. "납음(納音)"이란 "소리를 담아들인다"는 뜻으로, 오행이 소리·음률·악기와 대응된다는 고대 우주론에서 유래한다. 60갑자 2개씩 묶어 30개 납음이 되고, 각 납음은 오행 + 구체적 사물 이름(예: 해중금·노중화)을 갖는다. 띠 궁합의 이론적 근거가 납음오행이며, 대중이 흔히 말하는 "이 띠랑 저 띠는 안 맞아"의 수학적 배경이 여기에 있다.
1. 납음오행 60갑자 전체 테이블
| 순 | 갑자 | 납음 명 | 오행 |
|---|---|---|---|
| 1~2 | 甲子·乙丑 | 海中金(해중금) | 금(金) |
| 3~4 | 丙寅·丁卯 | 爐中火(노중화) | 화(火) |
| 5~6 | 戊辰·己巳 | 大林木(대림목) | 목(木) |
| 7~8 | 庚午·辛未 | 路傍土(노방토) | 토(土) |
| 9~10 | 壬申·癸酉 | 劍鋒金(검봉금) | 금(金) |
| 11~12 | 甲戌·乙亥 | 山頭火(산두화) | 화(火) |
| 13~14 | 丙子·丁丑 | 澗下水(간하수) | 수(水) |
| 15~16 | 戊寅·己卯 | 城頭土(성두토) | 토(土) |
| 17~18 | 庚辰·辛巳 | 白蠟金(백랍금) | 금(金) |
| 19~20 | 壬午·癸未 | 楊柳木(양류목) | 목(木) |
| 21~22 | 甲申·乙酉 | 泉中水(천중수) | 수(水) |
| 23~24 | 丙戌·丁亥 | 屋上土(옥상토) | 토(土) |
| 25~26 | 戊子·己丑 | 霹靂火(벽력화) | 화(火) |
| 27~28 | 庚寅·辛卯 | 松柏木(송백목) | 목(木) |
| 29~30 | 壬辰·癸巳 | 長流水(장류수) | 수(水) |
| 31~32 | 甲午·乙未 | 砂中金(사중금) | 금(金) |
| 33~34 | 丙申·丁酉 | 山下火(산하화) | 화(火) |
| 35~36 | 戊戌·己亥 | 平地木(평지목) | 목(木) |
| 37~38 | 庚子·辛丑 | 壁上土(벽상토) | 토(土) |
| 39~40 | 壬寅·癸卯 | 金箔金(금박금) | 금(金) |
| 41~42 | 甲辰·乙巳 | 覆燈火(복등화) | 화(火) |
| 43~44 | 丙午·丁未 | 天河水(천하수) | 수(水) |
| 45~46 | 戊申·己酉 | 大驛土(대역토) | 토(土) |
| 47~48 | 庚戌·辛亥 | 釵釧金(채천금) | 금(金) |
| 49~50 | 壬子·癸丑 | 桑柘木(상자목) | 목(木) |
| 51~52 | 甲寅·乙卯 | 大溪水(대계수) | 수(水) |
| 53~54 | 丙辰·丁巳 | 沙中土(사중토) | 토(土) |
| 55~56 | 戊午·己未 | 天上火(천상화) | 화(火) |
| 57~58 | 庚申·辛酉 | 石榴木(석류목) | 목(木) |
| 59~60 | 壬戌·癸亥 | 大海水(대해수) | 수(水) |
2. 납음오행 유래와 계산 원리
납음오행은 오행 + 수리의 합산으로 결정된다. 고전에서는 천간·지지 각각의 수(壬·癸=1, 甲·乙=8, 丙·丁=7, 庚·辛=9, 戊·己=5, 子·亥=1, 丑·午=8, 寅·亥=7 등의 오행 수리)를 더해 나머지로 납음을 정하는 방식을 사용했으나, 실제로는 외워야 하는 고정 테이블로 사용되는 경우가 더 많다.
계산법의 여러 유파 — 『삼명통회』·『협기변방서』 등에서 납음 계산법이 약간씩 다르게 기술됨. 서비스에서는 가장 보편적인 테이블을 직접 인코딩.
3. 납음 궁합 — 두 사람의 납음 상생상극
두 사람의 생년 납음오행을 비교해 상생·상극 관계를 판정한다.
3.1 기본 판정법
| 두 사람의 납음 관계 | 궁합 경향 |
|---|---|
| 상생(相生) — A납음이 B납음을 생함 | 길 (A가 B를 도움) |
| 상생(相生) — B납음이 A납음을 생함 | 길 (B가 A를 도움) |
| 쌍방 상생 | 드물고 이상적 |
| 동행(同行) — 두 납음이 같은 오행 | 평화롭고 공감대 큼 |
| 상극(相剋) — A납음이 B납음을 극함 | 주의 (A가 B를 억제) |
| 상극 — B납음이 A납음을 극함 | 주의 (B가 A를 억제) |
3.2 구체 예시
| A 생년 | A 납음 | B 생년 | B 납음 | 관계 |
|---|---|---|---|---|
| 1984 甲子 | 海中金 | 1987 丁卯 | 爐中火 | 화극금(火剋金) → B가 A를 억제 |
| 1988 戊辰 | 大林木 | 1984 甲子 | 海中金 | 금극목(金剋木) → B가 A를 억제 |
| 1990 庚午 | 路傍土 | 1988 戊辰 | 大林木 | 목극토(木剋土) → B가 A를 억제 |
| 1985 乙丑 | 海中金 | 1990 庚午 | 路傍土 | 토생금(土生金) → B가 A를 생함 → 길 |
4. 띠 궁합의 실체 — 납음과 지지 삼합·충
대중이 말하는 "이 띠끼리는 안 맞아"는 두 가지 논리가 혼재한다:
4.1 지지 충(支冲) 기반 띠 불화론
| 충 쌍 | 띠 | 대중 속설 |
|---|---|---|
| 子–午 | 쥐–말 | 상극 |
| 丑–未 | 소–양 | 상극 |
| 寅–申 | 호랑이–원숭이 | 상극 |
| 卯–酉 | 토끼–닭 | 상극 |
| 辰–戌 | 용–개 | 상극 |
| 巳–亥 | 뱀–돼지 | 상극 |
이 충은 연지(年支) 만 본 것이며, 사주 8글자 중 1개에 불과. 명리학은 충이 있다고 반드시 나쁜 것이 아님을 강조한다.
4.2 삼합(三合) 기반 띠 친화론
| 삼합 그룹 | 띠 |
|---|---|
| 申–子–辰 | 원숭이–쥐–용 (수국 三合) |
| 寅–午–戌 | 호랑이–말–개 (화국 三合) |
| 亥–卯–未 | 돼지–토끼–양 (목국 三合) |
| 巳–酉–丑 | 뱀–닭–소 (금국 三合) |
삼합 그룹 내에서는 오행이 한 방향으로 모여 서로를 보완하는 관계가 되므로 친화 관계.
대중 띠 궁합의 한계: 연지(연도 지지) 하나만 보는 것은 사주 8글자 중 **12.5%**의 정보로 판단하는 것. 명리학은 일지, 일간, 월주까지 종합해야 한다고 강조.
5. 원전 인용
納音者, 五行之精也; 六十甲子配三十音, 各有其象. "납음은 오행의 정수다. 60갑자에 30가지 소리를 배정하고 각각 상이 있다." — 『삼명통회(三命通會)』 납음편. 납음오행의 기원과 의미를 천명. [L1]
海中金, 剛而柔; 爐中火, 明而烈; 大林木, 根深而枝茂. "해중금은 강하면서도 유연하고, 노중화는 밝으면서도 격렬하며, 대림목은 뿌리 깊고 가지 무성하다." — 『삼명통회』. 납음마다 구체적 물상(物象)과 성격이 배정됨을 보여주는 예시. [L1]
生年納音, 論命之始; 二人相合, 先觀納音之生剋. "생년 납음은 명을 논하는 시작이다. 두 사람이 합할 때는 먼저 납음의 상생상극을 관찰한다." — 『삼명통회』 합혼 편. 납음 궁합이 궁합 판정의 첫 번째 관문임을 서술. [L2]
6. 판정·계산 알고리즘 (엔진 설계용)
// 실제 구현은 src/lib/saju/napeumTable.ts (신규).
export type NapeumElement = "wood" | "fire" | "earth" | "metal" | "water";
export interface NapeumInfo {
name: string; // "海中金"
nameKo: string; // "해중금"
element: NapeumElement;
/** 물상(物象) 키워드 — 해설문 생성에 사용 */
symbolKo: string; // "바닷속 금 — 단단하면서 유연"
}
// 60갑자 인덱스 0~59에서 2개씩 같은 납음
export const NAPEUM_TABLE: NapeumInfo[] = [
{ name: "海中金", nameKo: "해중금", element: "metal", symbolKo: "바닷속의 금 — 단단하지만 유연" },
{ name: "海中金", nameKo: "해중금", element: "metal", symbolKo: "바닷속의 금 — 단단하지만 유연" },
{ name: "爐中火", nameKo: "노중화", element: "fire", symbolKo: "화로 속 불 — 맹렬하고 집중적" },
{ name: "爐中火", nameKo: "노중화", element: "fire", symbolKo: "화로 속 불 — 맹렬하고 집중적" },
// ... 60개 항목 전체
];
export function getNapeum(birthYear: number): NapeumInfo {
// 60갑자 사이클: (birthYear - 4) % 60
const idx = ((birthYear - 4) % 60 + 60) % 60;
return NAPEUM_TABLE[idx];
}
export interface NapeumGunghap {
napeumA: NapeumInfo;
napeumB: NapeumInfo;
relation: "saengA" | "saengB" | "geukA" | "geukB" | "same";
score: number; // 0~10
description: string;
}
export function calcNapeumGunghap(birthYearA: number, birthYearB: number): NapeumGunghap {
const nA = getNapeum(birthYearA);
const nB = getNapeum(birthYearB);
const relation = getOhaengRelation(nA.element, nB.element);
return { napeumA: nA, napeumB: nB, relation, score: SCORE_MAP[relation], description: buildNapeumDesc(nA, nB, relation) };
}
7. 현재 레포 반영 (as-is)
| 개념 | 현재 상태 | 파일 경로 |
|---|---|---|
| 납음오행 테이블 | 없음 | — |
| 납음 궁합 함수 | 없음 | — |
| 지지 충·삼합 기반 띠 궁합 | 없음 | — |
결론: napeumTable.ts는 60개 행의 고정 데이터 인코딩으로 구현 가능. 외부 API 불필요. 상대적으로 빠르게 구현 가능한 궁합 기능.
8. 서비스 반영 포인터 (to-be)
| 항목 | 반영 위치 | 우선순위 |
|---|---|---|
napeumTable.ts 인코딩 |
src/lib/saju/napeumTable.ts 신규 — 60개 고정 데이터 |
데이터 Phase F |
| 납음 궁합 함수 | src/lib/saju/gunghap.ts 내 calcNapeumGunghap |
엔진 v2 |
| 사주 결과 페이지 납음 표시 | /saju 결과 — "당신의 납음오행: 해중금(海中金)" |
UX Phase F |
| 띠 궁합 간이 보기 | 궁합 UI 보조 섹션 — 삼합/충 정보 시각화 | UX Phase F |
| 가이드 | guides.ts "[STEP G03] 띠 궁합, 과학인가 미신인가" |
콘텐츠 Phase E2 |
9. 민감 영역 유의
- "납음 상극이면 안 맞아" 단언 금지 — 납음 궁합은 참고 지표 중 하나. 납음 상극이어도 다른 조건(일주 합·용신 일치)이 좋으면 충분히 좋은 관계 가능.
- 띠 궁합 단순화 경고 — "뱀띠와 돼지띠는 상극"처럼 띠 하나로 결론 내리는 콘텐츠는 지양. 반드시 "연지 충은 사주의 12.5%만 보는 것"임을 병기.
- 생년 기반 개인정보 — 납음 계산에 생년이 필요하므로 개인정보 처리 동의 확인 필수.
- 미신적 경계 — 납음 이름(해중금·노중화 등)이 매력적이어서 과도한 의미 부여가 생길 수 있음. "전통 분류 체계의 상징적 이름"임을 안내.