매개변수 유효성 검사는 메서드나 함수가 실행되기 전에 입력 값이 기대한 조건을 충족하는지 확인하는 과정이다. 이를 통해 잘못된 입력이 메서드나 함수에 전달되는 것을 방지할 수 있다.
아래 코드처럼 문서화하고 명시적으로 검사할 수 있다.
/**
* 두 개의 양수를 더하는 메서드
* @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;
}
핵심 정리 : 메서드나 생성자를 작성할 때면 그 매개변수들에 어떤 제약이 있을지 생각해야 한다. 그 제약들을 문서화하고 메서드 코드 시작 부분에서 명시적으로 검사해야 한다. 이런 습관을 반드시 기르도록 하자. 그 노력은 유효성 검사가 실제 오류를 처음 걸러낼 때 충분히 보상받을 것이다.
'이펙티브 자바' 카테고리의 다른 글
[이펙티브 자바] 아이템 51. 메서드 시그니처를 신중히 설계하라 (0) | 2024.05.14 |
---|---|
[이펙티브 자바] 아이템 50. 적시에 방어적 복사본을 만들라 (0) | 2024.05.12 |
[이펙티브 자바] 아이템 48. 스트림 병렬화는 주의해서 사용하라 (0) | 2024.04.25 |
[이펙티브 자바] 아이템 47. 반환 타입으로는 스트림보다 컬렉션이 낫다 (0) | 2024.04.25 |
[이펙티브 자바] 아이템 46. 스트림에서는 부작용 없는 함수를 사용하라 (0) | 2024.04.18 |