메뉴

튀르키예 주소 생성기: 계층 구조와 표기 함정 이해하기

튀르키예 주소 생성기로 만든 테스트 주소가 어떤 계층으로 이루어지는지, 5자리 우편번호와 81개 주가 어떻게 연결되는지, 주소 입력에서 자주 걸리는 표기 함정을 정리합니다.

게시일

  • 튀르키예 주소
  • 주소 형식

튀르키예 주소 생성기는 il, ilçe, mahalle처럼 여러 층으로 나뉜 주소 체계를 시험할 때 넣을 값을 손으로 만들지 않아도 되게 해 주는 도구입니다. 튀르키예 주소는 큰 단위에서 작은 단위로 내려가는 순서를 따르고, 다섯 자리 posta kodu가 그 지역과 연결되며, 대문자와 소문자의 점 유무가 의미를 바꾸는 문자 체계를 씁니다. 이 글에서는 주소의 계층이 어떻게 구성되는지, 우편번호와 주가 어떤 관계인지, 표기 함정이 어디에서 터지는지, 그리고 생성 결과를 어떤 시험에 붙이면 되는지 차례로 짚어 봅니다.

튀르키예 주소는 어떤 계층으로 이루어지나요?

가장 큰 단위는 il입니다. 우리말로 하면 주에 해당하며, 나라 전체가 여러 개의 il로 나뉩니다. 그 아래에 ilçe가 오고, 다시 mahalle라는 동네 단위가 이어집니다. 실제 도로는 sokak이나 cadde로 불리고, 문 앞에 붙는 번호가 bina no, 같은 건물 안의 호수가 daire로 표기됩니다.

이 순서를 외울 때 헷갈리는 지점은 한국 주소와 배열이 다르다는 사실입니다. 한국 주소는 도로명과 번지를 앞세우고 시·군·구를 뒤에 두는 경우가 많지만, 튀르키예 주소는 행정 단위를 먼저 세우고 도로와 건물 번호를 뒤에 놓습니다. 두 방식을 그대로 옮겨 적으면 같은 주소가 두 가지 모습으로 갈라집니다.

그래서 화면 설계에서도 선택 방식이 달라집니다. il과 ilçe는 목록에서 고르게 하고, mahalle부터는 직접 입력하게 두는 구성이 흔합니다. 어느 층까지 목록으로 제공할지는 서비스의 성격과 데이터 관리 능력에 따라 달라지지만, 층 사이의 포함 관계는 어느 방식에서도 유지되어야 합니다.

주소를 한 줄로 합쳐 저장하는 서비스도 많습니다. 이때는 조각 사이에 어떤 구분자를 넣을지, 쉼표와 공백을 어떻게 다룰지, 도로 종류를 줄여 쓸지 여부를 정해야 합니다. 합친 문자열만 남기고 조각을 버리면 나중에 우편번호와 행정 단위를 대조할 수 없게 되므로, 표시용 문자열과 구조화된 값을 함께 보관하는 편이 안전합니다.

행정 단위를 먼저 쓰는 순서가 왜 낯설게 느껴지나요?

서유럽 여러 나라의 주소는 번지와 도로명을 먼저 쓰고 도시와 우편번호를 뒤에 붙이는 순서가 익숙합니다. 튀르키예 주소는 반대로 큰 행정 단위에서 출발해 건물 번호로 좁혀 들어갑니다. 이 차이는 단순한 관습 문제가 아니라 어떤 정보를 기준으로 배달 구역을 나누는지와 연결되어 있습니다.

시험 데이터를 만들 때 이 순서를 무시하면 표시 계층에서 문제가 드러납니다. 조각을 각각 올바르게 만들어 두어도 화면에서 조립하는 순서가 다르면 사용자는 읽기 어려운 주소를 보게 됩니다. 저장 구조와 표시 순서를 분리해 두면 화면 언어나 배송 지역에 따라 순서를 바꾸어 보여 주면서도 값 자체는 흔들리지 않습니다.

이런 차이는 여러 나라를 한 화면에서 다룰 때 더 커집니다. 같은 입력 칸 묶음으로 두 나라를 처리하려면 어느 칸이 어떤 층에 대응하는지 미리 표로 정해 두어야 합니다. 나라마다 주소를 구성하는 층이 어떻게 다른지는 국가별 주소 형식에서 비교해 두었습니다.

같은 층 이름이라도 나라마다 뜻이 겹치지 않는 경우도 있습니다. 어떤 나라에서는 중간 단위가 도시 아래에 오고, 다른 나라에서는 도시 위에 옵니다. 이 차이를 무시하고 공통 필드 하나로 묶어 두면, 나중에 국가를 늘릴 때 그 필드의 의미가 흐려집니다. 국가별로 어떤 층이 있는지와 각 층의 필수 여부를 데이터로 관리하는 편이 오래 갑니다.

우편번호와 il은 어떤 관계인가요?

posta kodu는 다섯 자리 숫자로 이루어지고, 앞자리가 지역을 가리키는 방식으로 배정되어 있습니다. 그래서 우편번호만 보아도 대략 어느 지역인지 짐작할 수 있고, il과 짝이 맞는지 대조하는 검사도 만들 수 있습니다. 우편번호 형식만 확인하고 지역 대조를 하지 않으면 길이만 맞는 아무 값이나 통과합니다.

나라가 여러 개의 il로 나뉘고 각 il 안에 여러 ilçe가 있으므로, 행정 단위의 목록을 어떻게 관리하는지가 데이터 품질을 좌우합니다. 목록을 코드에 상수로 박아 두면 행정 구역이 바뀌었을 때 프로그램을 다시 배포해야 하고, 배포 전까지는 정상 입력이 거부됩니다. 목록을 데이터로 두고 교체할 수 있게 만들면 이런 지연을 피할 수 있습니다.

우편번호가 없는 주소를 어떻게 다룰지도 정해 두어야 합니다. 실제로는 우편번호를 모르는 사용자가 적지 않고, 이때 입력을 막으면 주문 자체가 끝나지 않습니다. 비워 둔 채로 저장하고 나중에 보완하도록 안내하는 방식, 임시 값을 넣는 방식, 지역만으로 우편번호를 추정해 제안하는 방식이 각각 다른 대가를 가집니다. 어느 쪽을 택하든 그 결정이 검사 규칙에도 반영되어야 합니다.

우편번호와 전화 지역 번호를 함께 대조하는 검사도 자주 쓰입니다. 주소의 il과 전화번호의 지역 번호가 서로 다른 곳을 가리키면 배송지와 연락처가 어긋난 상태가 됩니다. 이 조합을 어떻게 다룰지는 전화 국가 번호와 지역 일치에서 따로 정리했습니다.

우편번호를 목록에서 고르게 할지 직접 입력하게 할지도 판단이 필요합니다. 목록으로 받으면 오타가 줄지만 모든 우편번호를 미리 알고 있어야 하고, 직접 입력하게 하면 데이터 부담은 줄지만 형식 오류가 늘어납니다. 어느 쪽이든 저장하기 전에 자릿수와 지역 대조를 한 번은 거치게 하는 편이 좋습니다.

대문자와 소문자의 점 유무가 왜 문제가 되나요?

튀르키예어에는 점이 있는 i와 점이 없는 ı가 따로 있고, 대문자에도 점이 있는 İ와 점이 없는 I가 나뉩니다. 이 구분은 장식이 아니라 서로 다른 글자이므로, 검색과 정렬과 비교에서 모두 다른 값으로 취급되어야 합니다. 이 차이를 무시하면 사용자가 정확히 입력한 값이 검색 결과에서 사라집니다.

문제는 대부분의 프로그램이 기본으로 제공하는 소문자 변환 규칙이 이 구분을 모른다는 점입니다. 점이 있는 대문자를 변환하면서 점을 별도 문자로 붙여 버리는 구현도 있고, 반대로 점이 없는 글자를 점이 있는 글자로 바꾸어 버리는 구현도 있습니다. 두 경우 모두 값이 조용히 달라지고, 어디에서 달라졌는지 찾기 어렵습니다.

해결은 언어를 지정한 변환 규칙을 쓰는 것입니다. 비교와 정렬을 할 때 언어를 밝히지 않은 기본 규칙에 기대지 말고, 튀르키예어 규칙을 명시한 함수나 데이터베이스 설정을 쓰는 편이 안전합니다. 시험 데이터에 두 글자를 모두 넣어 두면 이 문제를 회귀 시험으로 잡아 둘 수 있습니다.

검색 색인을 만들 때도 같은 주의가 필요합니다. 색인 단계에서 소문자로 정규화한 값만 저장하면 원문과 다른 값이 남고, 나중에 대문자로 되돌릴 수 없습니다. 원문을 그대로 보관하고 검색용으로만 별도 값을 만드는 방식이 안전하며, 두 값이 어긋났는지 확인하는 검사도 함께 두는 편이 좋습니다.

전화번호 국가 코드와 도시가 어긋나면 어떤 일이 생기나요?

튀르키예의 국가 코드는 90이고, 그 뒤에 지역을 가리키는 번호가 붙습니다. 주소의 il과 전화번호의 지역 번호가 서로 다른 지역을 가리키면, 화면은 아무 오류 없이 값을 저장합니다. 문제는 그다음 단계에서 드러납니다. 문자 발송이 엉뚱한 지역 요금을 적용하거나, 본인 확인 흐름이 예상과 다르게 분기합니다.

이 어긋남은 시험 데이터를 손으로 만들 때 특히 자주 생깁니다. 주소는 튀르키예에서 가져오고 전화번호는 다른 나라 목록에서 복사하면 국가 코드가 주소와 맞지 않습니다. 한 건의 기록에는 주소와 연락처가 같은 나라를 가리켜야 한다는 규칙을 먼저 적어 두고, 그 규칙을 검사로 옮겨 두는 편이 좋습니다.

번호 표기 관행도 함께 정해야 합니다. 국가 코드와 지역 번호를 어떤 구분자로 이어 붙일지, 앞에 덧붙는 국제 접두사를 저장할지 여부는 서비스마다 다릅니다. 다만 저장 형식과 표시 형식을 섞으면 대조가 어려워지므로, 저장은 숫자만 남기고 표시할 때만 구분자를 넣는 방식이 흔히 쓰입니다.

국가 코드를 주소에서 유도할지 사용자가 고르게 할지도 정해야 합니다. 주소의 나라를 바꾸면 전화번호의 국가 코드 검사도 함께 바뀌어야 하므로, 두 값이 서로를 참조하는 구조를 만들면 한쪽만 수정되는 실수를 줄일 수 있습니다. 화면에서 나라를 바꾸었을 때 전화번호 칸이 어떻게 반응하는지도 시험 항목에 넣어 두세요.

주소 폼을 시험할 때 어떤 항목을 확인해야 하나요?

가장 먼저 볼 것은 행정 단위의 포함 관계입니다. 목록에서 고른 il에 속하지 않는 ilçe가 선택 가능한지, il을 바꾸었을 때 아래 층이 제대로 초기화되는지, 뒤로 가기로 돌아왔을 때 이전 조합이 남아 있지 않은지를 차례로 확인합니다. 이 세 가지는 실제 사용자 흐름에서 자주 어긋나는 지점입니다.

다음은 문자 집합입니다. 점이 있는 i와 점이 없는 ı가 들어간 mahalle 이름이 저장과 조회에서 같은 값으로 취급되는지, 대문자로 표시할 때 규칙이 올바른지, 정렬 순서가 기대와 맞는지를 봅니다. 여기에 우편번호의 자릿수 검사와 il 대조 검사를 더하면 주소 한 건에 대한 기본 검사가 갖추어집니다.

입력 편의 기능도 시험 대상입니다. 우편번호를 입력하면 해당 지역의 행정 단위를 제안하는 기능, 도로명 자동 완성, 건물 번호와 호수 칸의 선택 여부를 확인합니다. 이런 기능이 없을 때와 있을 때의 저장 결과가 같아야 하며, 자동 완성으로 채운 값과 직접 입력한 값이 다른 형식으로 저장되면 나중에 대조가 어려워집니다.

오류 처리도 함께 봅니다. 어느 칸이 잘못되었는지 화면에서 바로 알 수 있는지, 오류 메시지가 어떤 언어로 나오는지, 사용자가 입력한 값이 오류 화면에서 사라지지 않는지를 확인합니다. 여러 층으로 나뉜 주소 폼은 한 층이 비어 있다는 이유로 전체를 다시 입력하게 만드는 경우가 많아, 이 부분이 실제 이탈로 이어집니다.

지역에 따라 행정 구조가 어떻게 달라지나요?

튀르키예의 행정 구조는 전국이 같은 모양이라고 생각하기 쉽지만 실제로는 그렇지 않습니다. 큰 도시에는 구 단위가 촘촘하게 나뉘어 있고, 인구가 적은 지역에서는 한 단계가 생략되거나 이름만 다르게 붙습니다. 같은 층위의 이름이 지역에 따라 다른 낱말로 나타나기도 합니다.

이 차이는 목록을 만들 때 문제가 됩니다. 전국에 같은 층위를 강제하면 어떤 지역에서는 비어 있는 층이 생기고, 비어 있는 층을 필수로 두면 그 지역 사용자는 주소를 저장할 수 없습니다. 반대로 층을 모두 선택 사항으로 두면 주소가 어느 지역에도 속하지 않는 상태로 저장됩니다.

그래서 시험 데이터에는 도시 지역과 지방 지역을 함께 넣는 편이 좋습니다. 큰 도시의 구가 있는 주소, 구 없이 시와 동네로만 이루어진 주소, 이름이 긴 지역과 짧은 지역을 섞어 두면 목록 화면의 문제가 드러납니다. 나라별 행정 구조의 차이는 나라별 주소 형식에서 더 넓게 다룹니다.

주소 표기를 다룰 때 자주 걸리는 함정은 무엇인가요?

가장 자주 걸리는 곳은 문자 변환입니다. 점이 있는 i를 대문자로 바꿀 때 점이 유지되는 규칙과, 점이 없는 ı가 대문자로 바뀌면 점이 붙는 규칙이 다른 언어의 규칙과 다릅니다. 이 차이를 무시하고 일괄 변환하면 같은 지역 이름이 두 가지 값으로 저장됩니다.

두 번째는 숫자 표기입니다. 건물 번호와 호수는 숫자이지만 지역에 따라 문자가 덧붙기도 하고, 같은 건물에 여러 번호가 붙는 경우도 있습니다. 이 값을 숫자형으로만 저장하면 문자가 사라지고, 원래 값을 되살릴 수 없게 됩니다. 주소의 숫자는 계산에 쓰는 값이 아니므로 문자로 다루는 편이 안전합니다.

세 번째는 순서입니다. 같은 주소를 공식 문서와 택배 상자에 쓰는 순서가 다르고, 외국으로 보낼 때는 나라 이름을 맨 뒤에 붙이는 관행이 있습니다. 시험 데이터를 만들 때 어느 용도인지 정해 두지 않으면 화면마다 다른 순서가 섞여 들어갑니다.

생성한 주소를 반복 시험에 쓰려면 무엇을 정해야 하나요?

먼저 정할 것은 값의 고정 여부입니다. 회귀 시험에는 같은 입력이 매번 같아야 하므로 값을 고정하고, 목록과 정렬처럼 다양성이 필요한 시험에는 매번 새 값을 만듭니다. 두 방식을 함께 쓰려면 어떤 시험에 어느 쪽을 쓰는지 팀 안에서 정해 두어야 합니다.

다음은 만들어진 값의 출처 관리입니다. 어느 지역 데이터에서 만들어진 주소인지, 어떤 규칙으로 조합되었는지를 함께 남겨 두면 값이 이상할 때 원인을 찾기 쉬워집니다. 특히 행정 단위 목록이 갱신되면 예전에 만든 값이 새 목록에 없는 이름을 담고 있을 수 있으므로, 언제 만든 값인지가 중요합니다.

마지막은 값의 수명입니다. 시험용 주소를 오래 보관하면 다른 시험이 그 값을 참조하게 되고, 목록이 바뀐 뒤에는 재현이 어려워집니다. 시험마다 값을 만들고 시험 안에서 끝내는 구조가 가장 단순하며, 오래 두어야 하는 값은 왜 두는지를 기록해 두는 편이 좋습니다.

튀르키예 주소 생성기에서 바로 만들어 보기

튀르키예 주소 생성기에서 튀르키예를 고르면 il, ilçe, mahalle, 도로명, 우편번호가 같은 지역 데이터에서 함께 만들어집니다. 그래서 우편번호와 행정 단위가 어긋난 값이 나오지 않고, 대문자와 소문자의 구분이 들어간 표기도 실제 규칙에 맞게 나옵니다. 같은 키로 다시 만들면 완전히 같은 값이 나오므로 회귀 시험의 기준값으로 쓸 수 있습니다.

여기서 만들어진 주소는 알고리즘이 합성한 테스트 데이터이며 실존하는 건물이나 수취인과 무관합니다. 형식과 자릿수 규칙은 실제와 같지만 어디에도 배달되지 않고, 그 지역에 실제로 존재하는 주소인지도 보장하지 않습니다.

시험용 주소 데이터의 경계는 어디인가요?

할 수 있는 것은 형식과 흐름의 확인입니다. 행정 단위의 포함 관계, 우편번호 자릿수, 문자 집합과 정렬, 저장 길이의 한계, 오류 메시지의 위치처럼 규칙에 관한 것은 모두 시험할 수 있습니다. 여러 층으로 나뉜 목록 화면의 동작도 확인할 수 있습니다.

할 수 없는 것도 분명합니다. 실제 우편 집배 시스템이 이 주소를 받아 줄지는 알 수 없고, 주소 정규화 서비스가 어떤 결과를 돌려줄지도 미리 알 수 없습니다. 무엇보다 이 값은 실제 사람의 주소가 아니므로 본인 확인이나 실명 확인 절차에 쓰면 안 됩니다.

시험용 값은 시험용으로만 쓰세요. 실제 배송, 실제 고객 등록, 실제 신원 확인에는 사용하지 말고, 운영 데이터와 섞이지 않도록 값에 알아볼 수 있는 표식을 남겨 두는 편이 안전합니다. 미국 주소와의 차이가 더 궁금하다면 미국 주소 생성기를 함께 읽어 보시길 권합니다.

이어 읽기

인기 도구와 사용법 글