🎯 아이템 49. 매개변수가 유효한지 검사하라. "오류는 가능한 한 빨리 (발생한 곳에서) 잡아야 한다" 오류를 발생한 즉시 잡지 못하면 해당 오류를 감지하기 어려워지고, 감지하더라도 오류의 발생 지점을 찾기 어려워 진다. 만약, 매개변수 검사를 제대로 하지 못하면 몇 가지 문제가 생길 수 있다. 메서드가 수행되는 중간에 모호한 예외를 던지며 실패할 수 있다. 매개변수 검사에 실패하면 실패 원자성을 어기는 결과를 낳을 수 있다. 실패 원자성 : 메서드에서 예외가 발생한 후에도 그 객체는 여전히 유효한 상태 public과 protected 메서드는 매개변수 값이 잘못됐을 때 던지는 예외를 문서화해야 한다. (@throws 자바독 태그를 사용하면 된다.) /** * (현재 값 mod m) 값을 반환한다. 이..