본문 바로가기

이펙티브 자바

[이펙티브 자바] 아이템 49. 매개변수가 유효한지 검사하라

매개변수 유효성 검사는 메서드나 함수가 실행되기 전에 입력 값이 기대한 조건을 충족하는지 확인하는 과정이다. 이를 통해 잘못된 입력이 메서드나 함수에 전달되는 것을 방지할 수 있다.

 

아래 코드처럼 문서화하고 명시적으로 검사할 수 있다.

/**
 * 두 개의 양수를 더하는 메서드
 * @param a 첫 번째 양수
 * @param b 두 번째 양수
 * @return 두 양수의 합
 * @throws IllegalArgumentException 매개변수가 음수인 경우 발생
 */
public int add(int a, int b) {
    if (a < 0 || b < 0) {
        throw new IllegalArgumentException("매개변수는 양수이어야 합니다.");
    }
    return a + b;
}


 

핵심 정리 : 메서드나 생성자를 작성할 때면 그 매개변수들에 어떤 제약이 있을지 생각해야 한다. 그 제약들을 문서화하고 메서드 코드 시작 부분에서 명시적으로 검사해야 한다. 이런 습관을 반드시 기르도록 하자. 그 노력은 유효성 검사가 실제 오류를 처음 걸러낼 때 충분히 보상받을 것이다.