[Java] 실무에서 사용하는 JavaDoc

글 정보
카테고리java/other
작성일2025-12-12
게시 여부true
seriesJava 이것저것
series-order1
제목[Java] 실무에서 사용하는 JavaDoc

JavaDoc?

양식(태그)

태그 설명 필수여부 작성 가이드
@author 작성자 O 실명, 사번(문의 대상 식별)
@since 작성일/버전 O YYYY.MM.DD나 프로젝트의 버전
@param 파라미터 설명 O 파라미터 의미, ~~Null 허용 여부~~, 포맷 등
@return 반환값 설명 O 반환되는 데이터 의미
@throws 예외 발생 X 비즈니스 로직상 발생할 수 있는 주요 Exception
@see
참조 링크 X AS-IS 클래스, 연관된 유틸리티/상수 클래스 연결
@deprecated 사용 금지 X 삭제 예정인 경우 표시

실무 특징

예시

1. Controller

/**
 * [${화면명/기능명}] ${기능_상세_설명}
 *
 * @author 00010001
 * @param request  ${요청_데이터_설명_및_필수여부}
 * @param bindingResult ${유효성_검증_결과}
 * @return ${응답_데이터_구조_및_화면이동_경로}
 * @throws Exception ${발생_가능한_주요_예외}
 *
 * ----------------------------------------------------
 * Prj AS-IS Reference:
 * - Method: ${OldController.oldMethodName()}
 * - Note: ${파라미터 구조 변경됨}
 * ----------------------------------------------------
 */
@PostMapping("/submit")
public ResponseEntity<?> submit(@RequestBody NewVO request) { ... }

2. Service

/**
 * ${비즈니스_로직_명}
 *
 * @author 00010001
 * @param userId ${사용자_ID}
 * @param amount ${계산할_금액}
 * @return ${계산_결과_값}
 * @throws BizException ${잔액_부족_등_비즈니스_예외_조건}
 *
 * ----------------------------------------------------
 * Prj AS-IS Reference:
 * - Method: ${OldService.processLogic()}
 * - Note: ${파라미터 구조 변경됨}
 * ----------------------------------------------------
 */
public ResultVO processLogic(String userId, BigDecimal amount) { ... }

3. DAO / Mapper (DB쿼리)

/**
 * ${쿼리_질의_목적}
 *
 * @param paramMap ${검색_조건_Map (startDate, endDate 필수)}
 * @return ${조회된_목록_List}
 *
 * ----------------------------------------------------
 * Prj AS-IS Reference:
 * - Query ID: ${sqlMap_user.xml -> selectUserList}
 * ----------------------------------------------------
 */
List<UserVO> selectUserList(Map<String, Object> paramMap);

4. Provider / Utility

/**
 * ${기능}
 *
 * @param rawData ${가공 전 데이터}
 * @return ${가공 후 데이터 (실패 시 null 반환 여부 명시)}
 * @throws ExternalApiException ${연동_타임아웃_등}
 *
 * ----------------------------------------------------
 * Prj AS-IS Reference:
 * - Method: ${OldUtil.convertData()}
 * ----------------------------------------------------
 */
public String sendToLegacy(String rawData) { ... }

5. VO

/**
 * 주민번호 마스킹 처리 후 반환
 *
 * @return ${123456-1****** 형태의 문자열}
 * ----------------------------------------------------
 * Prj AS-IS Reference: 신규 추가 (AS-IS에는 화면에서 처리함)
 * ----------------------------------------------------
 */
public String getMaskedSsn() { ... }