메서드와 생성자의 입력 매개변수의 값에 제약조건이 있다면 필수적으로 해야 할 것.
- 메서드에 대한 문서화.
- 메서드 몸체가 시작되기 전에 매개변수 유효성 검사.
메서드 몸체가 실행되기 전에 매개변수를 확인한다면 잘못된 값이 넘어왔을 때 즉각적이고 깔끔한 방식으로 예외를 던질 수 있다.
검사를 제대로 하지 못하면 잘못된 반환 값을 던지거나, 메서드와 관련 없는 예외를 던질 수 있으니 주의해야 한다.
아래 코드는 문서화와 유효성 검사의 전형적인 예이다.
자바 7엔 Objects.requireNonNull 메서드가 추가되어 간편하게 null 검사가 가능하다.
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
메서드 몸체 실행 전에 매개변수 유효성을 검사해야 한다는 규칙에도 예외가 있다.
- 유효성 검사 비용이 지나치게 높거나 실용적이지 않을 때.
- 계산 과정에서 암묵적으로 검사가 수행될 때.
'Java > Effective Java' 카테고리의 다른 글
[아이템 50] 적시에 방어적 복사본을 만들라 (0) | 2022.02.15 |
---|---|
[아이템 26] 로 타입(raw type)은 사용하지 말라 (0) | 2022.02.07 |
[아이템 8] finalizer와 cleaner 사용을 피하라 (0) | 2022.01.01 |
[아이템 7] 다 쓴 객체 참조를 해제하라 (0) | 2021.12.23 |
[아이템 6] 불필요한 객체 생성을 피하라 (0) | 2021.12.21 |
댓글