더북(TheBook)

무엇보다 중요한 정보는 생성자를 올바르게 호출하는 방법입니다. 특히 원하는 대로 동작하려면 어떤 전제 조건(precondition)을 충족해야 하는지 알아야 하죠. 기본 생성자에는 전제 조건과 입력 매개변수가 전혀 없지만 두 번째 생성자에는 있습니다. Supply 객체의 CollectioninitialSupplies를 호출합니다. 메서드 매개변수와 마찬가지로 initialSupplies도 설명해야 합니다. 예제의 경우, null을 입력하면 안 되고 입력하면 NullPointerException이 발생합니다. @throws 부분에 명시되어 있죠.

두 번째 생성자 종료 후 객체 상태 정보를 알아야 하는데 상태에 따라 그 시점에서 호출할 수 있는 메서드가 결정되기 때문입니다. 이것을 ‘사후 조건(postcondition)’이라고 부릅니다. 코드를 보면 재고는 “빈” 상태가 되거나 “초기 제품”으로 채워집니다. 두 생성자의 요약문을 보면 알 수 있습니다.

이 외에도 두 개의 @see 표기 주석이 더 있습니다. 이 표기는 개발자에게 힌트를 줍니다. 알려주지 않았다면 몰랐을 대안을 보여주죠. 예제에서는 두 표기를 통해 두 생성자의 관계를 설명합니다.

생성자에는 이름이 없다보니 JavaDoc이 그만큼 매우 중요합니다!

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.