MBTI 테스트 모음 소개글을, 이 사이트의 궁합 도구가 점수를 만드는 과정을 설명하는 기록으로 바꿨습니다. 2026년 9월 20일 현재 mbti_compatibility.js는 두 유형의 글자와 코드에 지정된 조합표를 사용합니다. 관계 만족도를 조사하거나 학습된 모델로 성공 확률을 예측하는 기능은 아닙니다.

입력부터 결과까지

사용자는 자기 유형과 상대 유형을 각각 선택합니다. 계산 버튼은 두 값이 코드의 16개 유형 목록에 있는지 먼저 확인합니다. 하나라도 유효하지 않으면 결과 영역을 숨기고 두 유형을 선택하라는 메시지를 보여주도록 되어 있습니다.

유효한 값이면 calculateScore(a, b)에서 점수를 만들고, 점수 구간에 맞는 제목·설명·주의할 점을 출력합니다. 공유 주소에는 my와 partner 값이 들어가므로, 같은 두 유형을 전달하면 같은 계산을 다시 할 수 있는 구조입니다.

점수를 만드는 실제 규칙

조건 현재 코드의 점수 처리
시작값 58점
같은 위치의 글자가 같음 글자마다 6점 추가
두 유형이 완전히 같음 12점 추가
goldenPairs에 지정된 조합 18점 추가
첫 번째 글자가 다름 4점 추가
두 번째 글자가 같음 6점 추가
세 번째 글자가 다름 5점 추가
네 번째 글자가 다름 4점 추가
같은 글자가 하나도 없음 8점 차감
최종 출력 45~98점 사이로 제한

goldenPairs라는 변수 이름은 구현자가 정해 놓은 조합 목록을 가리킵니다. 이 이름이나 가산점 자체가 관계에 관한 근거가 되지는 않습니다. 어떤 조합을 목록에 넣고 몇 점을 더할지 바꾸면 결과도 바뀝니다.

같은 유형인데도 100점이 나오지 않는 이유

예를 들어 INFP와 INFP는 시작 58점에 글자 일치 24점, 동일 유형 12점, 두 번째 글자 일치 6점을 더해 제한 전에는 100점입니다. 마지막 단계에서 상한 98을 적용하므로 화면에는 98점이 나옵니다.

return Math.max(45, Math.min(98, score));

따라서 98점은 98%의 성공 가능성을 뜻하지 않습니다. 이 코드가 출력하도록 정한 최대 점수입니다.

현재 코드를 실행해 비교한 사례

실제 상수와 계산 함수를 Node에서 실행했습니다. 다음 값은 사람을 대상으로 한 실험 결과가 아닌 코드 실행 결과입니다.

입력 유형 현재 점수 확인할 점
INFP / INFP 98 동일 유형도 상한 적용
INFP / ENFJ 98 지정 조합의 가산점을 더한 뒤 상한 적용
INFP / ENFP 86 세 글자 일치와 각 조건의 점수 합산
ISTJ / ENFP 63 일치 글자 없음에 따른 차감 포함

16 × 16의 256개 조합도 실행했습니다. 현재 조합표에서는 입력 순서를 뒤집어도 점수가 같았고 실제 출력 범위는 63~98점이었습니다. 코드에 45라는 하한이 있다고 해서 실제 조합에서 45점이 나온다는 뜻은 아닙니다. 향후 조합표가 바뀌면 이 결과도 다시 검증해야 합니다.

MBTI 도구를 처음 소개할 때 사용한 화면

위 이미지는 당시 소개 화면입니다. 현재 점수의 의미는 계산 규칙과 검증 사례를 기준으로 설명합니다.

결과 설명과 계산 근거를 함께 보여주기

이전 글은 궁합·술버릇·애착·동물 캐릭터를 한데 묶어 소개했습니다. 그러나 서로 다른 기능을 모았다는 사실만으로 각 결과의 근거를 설명할 수는 없습니다. 이번 글은 확인 가능한 궁합 계산 하나로 범위를 좁혔습니다.

사용자에게 수치를 보여줄 때는 입력값, 계산 규칙, 결과의 의미, 해석할 수 없는 범위를 함께 제공해야 합니다. 현재 도구의 점수를 관계의 좋고 나쁨을 결정하는 기준으로 삼을 근거는 이 구현에 없습니다. 공식 검사나 진단 도구로 소개하지 않습니다.

질문마다 점수를 더하는 다른 구현과의 차이는 연애 테스트의 가중치 계산에서 확인할 수 있습니다. 이 글의 함수 실행 확인과 별개로 실제 선택 화면·공유 링크·모바일 동작은 기능 점검 목록에서 계속 관리합니다.