이펙티브자바 아이템49
-
아이템49. 매개변수가 유효한지 검사하라책/이펙티브자바 2021. 8. 30. 19:40
메소드와 생성자 대부분은 입력 매개변수의 값이 특정 조건을 만족하길 바란다. 예를들어. 인덱스 값은 음수이면 안되며, 객체 참조는 Null이 아니길 기대한다. 이 책에서 계속 꾸준히 하는 말인데 "오류는 가능한 한 빨리 잡아야 한다". 말하자면 메서드 body가 시작하는 부분에서 먼저 검사하라 이 말이다. 검사를 제대로 하지 않는다면 1. 메서드 수행 중간에 모호한 예외를 던질 수 있고, 2. 메서드가 잘 수행되지만 잘못된 결과를 반환할수 있고, 3. 문제없이 수행 되지만 어떤 객체를 이상한 상태로 만들어 놓아 미래에 알 수 없는 시점에 메서드와 관련없는 오류를 낼때다. 즉, 매개변수 검사에 실패하면 실패 원자성을 어기는 결과를 낳을 수 있다. public, protected 메서드는 (접근이 쉬운 편)..