자바 연령 검증기 예외 처리 챌린지

JavaBeginner
지금 연습하기

소개

프로그래밍 세계에서 가장 흥미진진한 테마파크인 자바랜드 놀이공원에 오신 것을 환영합니다! 새로 채용된 주니어 개발자로서 여러분의 첫 번째 임무는 공원 티켓 시스템의 핵심 기능인 특정 놀이기구용 연령 검증기를 구현하는 것입니다.

수석 개발자가 이미 연령 검증기의 기본 구조를 설정해 두었지만, 예외 처리를 완성하기 위해 여러분의 도움이 필요합니다. 여러분의 임무는 유효하지 않은 연령이 입력되었을 때 사용자 정의 예외를 발생시키는 로직을 구현하는 것입니다.

이 챌린지에 도전하여 자바랜드 놀이공원을 모두에게 더 안전하고 즐거운 곳으로 만들 준비가 되셨나요? 코딩을 시작해 봅시다!

이것은 챌린지 과제입니다. 가이드 실습 (Guided Lab) 과 달리, 정해진 단계를 따라가는 것이 아니라 스스로 독립적으로 과제를 해결해야 합니다. 챌린지는 다소 어려울 수 있습니다. 해결이 어렵다면 Labby 와 상의하거나 모범 답안을 확인하세요. 통계 데이터에 따르면 이 과제는 초급 수준이며 96%의 통과율을 기록하고 있습니다. 학습자들로부터 100%의 긍정적인 평가를 받았습니다.

연령 검증기 구현 완성하기

이번 연습에서는 자바의 데이터 검증과 예외 처리의 세계를 탐험하게 됩니다. 사용자 입력을 검증하는 것은 견고하고 안전한 애플리케이션을 구축하는 데 있어 매우 중요한 요소입니다. 연령 검증기를 직접 구현해 봄으로써 논리적 체크를 설정하고 사용자 정의 예외를 만드는 실무 경험을 쌓을 수 있습니다. 이 기술은 사용자 등록 시스템부터 데이터 처리 애플리케이션에 이르기까지 다양한 분야에서 필수적입니다. 자, 이제 프로그램을 완성해 봅시다!

과제

  • ~/project 디렉토리에 미리 생성된 AgeValidator.java 파일을 엽니다.
  • 코드 내에서 TODO 주석을 찾습니다.
  • 연령이 0 미만이거나 120 을 초과할 때 InvalidAgeException을 발생시키는 로직을 구현합니다.

요구 사항

  • AgeValidator.java 파일은 이미 ~/project 디렉토리에 존재해야 합니다.
  • InvalidAgeException 클래스는 이미 정의되어 있습니다.
  • validateAge 메서드를 완성하세요:
    • 연령이 0 보다 작으면 "Age cannot be negative"라는 메시지와 함께 InvalidAgeException을 발생시킵니다.
    • 연령이 120 보다 크면 "Age cannot be greater than 120"이라는 메시지와 함께 InvalidAgeException을 발생시킵니다.
  • 코드의 다른 부분은 수정하지 마세요.

예시

정상적으로 완료된 후 main 메서드를 실행하면 다음과 유사한 결과가 출력되어야 합니다:

cd ~/project
javac AgeValidator.java
java AgeValidator

출력 예시:

Age 25 is valid.
InvalidAgeException: Age cannot be negative
InvalidAgeException: Age cannot be greater than 120
✨ 솔루션 확인 및 연습

요약

이 챌린지에서 여러분은 자바의 사용자 정의 예외를 사용하여 연령 검증 시스템의 핵심 기능을 구현했습니다. 이 연습을 통해 자바 예외 처리 실습의 주요 개념들을 다시 한번 확인했습니다:

  1. 사용자 정의 예외: 미리 정의된 InvalidAgeException을 활용했습니다.
  2. 예외 발생시키기: 특정 조건에서 예외를 던지는 (throw) 로직을 구현했습니다.
  3. 예외 메시지: 유효하지 않은 다양한 연령 상황에 대해 구체적인 오류 메시지를 제공했습니다.

이 챌린지를 완료함으로써 기본적인 자바 기술을 연습했을 뿐만 아니라, 실제 애플리케이션에서 흔히 쓰이는 실용적인 기능을 만들어 보았습니다. 연령 검증은 놀이공원 놀이기구부터 온라인 회원가입 양식까지 수많은 시스템에서 중요한 부분을 차지합니다.

예외 처리는 코드 내의 오류 상황을 우아하게 관리할 수 있게 해주는 자바의 강력한 도구임을 기억하세요. 자바랜드 놀이공원에서의 여정을 계속하며 다음과 같은 방향으로 시스템을 발전시켜 볼 수 있습니다:

  • 다양한 놀이기구에 대해 더 구체적인 연령 체크 추가하기
  • 이러한 예외들을 처리하고 사용자 친화적인 메시지를 보여주는 try-catch 블록 구현하기
  • 여러 기준을 동시에 확인하는 더 복잡한 검증 시스템 구축하기

계속해서 코드를 연습하고 실험해 보세요. 예외와 오류 처리에 익숙해질수록 여러분의 자바 프로그램은 더욱 견고하고 사용자 친화적으로 변할 것입니다. 자바랜드 놀이공원에서 즐겁고 안전한 프로그래밍의 세계에 오신 것을 환영합니다!