반응형
웹서비스 관련된 과제를 하면서 작성했던 주민등록번호 유효성 검사에 대한 메소드를 구현해 보겠다.
먼저 주민등록번호는 유효성을 검사하는 일종의 공식(?) 이 있다.
차근차근 방법을 따라가 보자.
예를들어 주민등록번호가 123456-1234567 이라고 하면 계산방법은 다음과 같다.
1. 검증코드를 제외한 나머지 값들을 미리 지정된 값에 숫자를 하나씩 하나씩 모두 곱한다.
2. 각 자리수에서 곱한 숫자들을 모두 더한다.
3. 더한 결과를 11로 나누어 나머지를 구한다. (나머지 연산 %)
4. 11에서 나머지의 결과를 빼준다.
5. 연산을 통해 얻어진 값과 위에서 구했던 검증번호가 일치하는지 검사한다.
123456-1234567 이라는 주민등록번호에서 검증번호는 7이고, 연산 결과 얻은 값은 3이 된다.
따라서 두 값은 같지 않기 때문에 유효하지 않은 주민등록번호가 된다. 만약 이 두 값이 같다면 주민등록번호는 유효한 값이 되는 것이다.
위의 계산을 JAVA 코드로 만들어 보았다.
String 형식의 메소드로 인자는 주민등록번호의 앞번호와 뒷번호를 각각 따로 받는다.
인자로 받은 두 번호를 합쳐서 길이가 13자인지 먼저 검사를 하고,
배열에 저장시켜준다.
배열에 저장한뒤 위에서 이야기 했던 순서대로 연산을 해 나간다.
계산된 최종 값 (validChkNum)과 검증숫자 (inputData[12]) 가 같은지 비교한 뒤 결과를 string 타입으로 리턴시켜 주게 된다.
반응형