주석을 사용하기전에 기본적으로 앙ㄹ아야할 몇가지 개념들이 있다.
개념 부분은 지피티와 여러 블로그들을 ... . .짜깁기...

과제 피드백으로 JAVADOC을 찾아보라고 했는데
자기가 만들었던 클래스들을 자동으로 정리해서 보여주는 기능이라고 한다.... 새롭게 알게되었으니 써먹어보려고 ㅎㅎ !!
Javadoc은 Java 코드에서 자동으로 문서를 생성하는 도구야.
즉, 주석을 활용해서 API 문서를 만들 수 있는 시스템이라고 보면 돼!
(💡 Java Development Kit(JDK)에 포함되어 있어!)
Java 소스 코드에서 HTML 형식의 API 문서를 생성하기 위해 Sun Microsystems에서 작성한 문서 생성기.
그러니깐 Javadoc은 일반 // 이런 주석이나 /* */ 이 주석이랑 다른 기능을 한다는 소리다

즉, Javadoc은 단순한 주석이 아니라 API 문서를 만들기 위한 주석이라고 한다.
목적 : 함수의 "사용법"과 "의도"를 설명
1️⃣ 터미널(또는 명령 프롬프트)에서 Javadoc 실행하기
Javadoc을 실행하려면 Java 파일이 있는 디렉토리에서 다음 명령어를 입력한다..
javadoc -d docs Kiosk.java
🔹 -d docs : docs 폴더에 문서를 생성

사실 지금 생성은안된다.
왜냐하면 Javadoc으로 주석 안만들어줬으니간!!!!!!
난또 문서 먼저 만들고 자바 주석해놓으면 자동으로 추가되는건줄알았는데 반대인가봄
ㅎㅎ
2️⃣ 생성된 HTML 문서 확인
위 명령을 실행하면 docs 폴더 안에 .html 파일들이 생성되는데,
그중 index.html을 열어보면 Java API 문서처럼 정리된 문서를 볼 수 있어! 🔥
📌Javadoc 주석은
/**로 시작해서*/로 끝나는 형태
/**
* 문서화 주석 내용
* 문서화 주석 내용
* 문서화 주석 내용
* 문서화 주석 내용
*/
아래의 형태도 똑같이 Javadoc의 대상이다.
/**
문서화 주석 내용
문서화 주석 내용
문서화 주석 내용
*/

자바 버전이 올라가며 추가된 자바독 태그
{@literal} - 특수 문자를 그대로 출력
{@code} - 코드 블록을 강조
@implSpec - 메서드의 구현 세부 정보 설명
{@index} - 검색 인덱스 추가
다음은 문서화 주석의 규칙들이다.
@throws 태그로 비검사 예외를 선언하여 기술한다.@param 태그 void가 아니라면 @return 태그@throws 태그@throws 태그의 설명은 '만약'으로 시작해 해당 예외를 던지는 조건을 설명하는 절이 뒤따른다.@param, @return, @throws 태그의 설명에는 마침표를 붙이지 않는다.{@code} 는 감싼 내용을 코드용 폰트로 변환해주고, 다른 HTML 요소나 다른 자바독 태그를 무시한다.
이런식으로 작성해봤다.
package challenge.lv2;
@FunctionalInterface
interface DiscountStructure {
int discountPrice(int price);
}
요게 함수형 인터페이스고
package challenge.lv2;
public enum DiscountType {
Coupon(price -> (price > 10000) ? price - 3000 : price),
Cash(price -> price - (price / 10)),
General(price -> price);
private final DiscountStructure discountStructure;
DiscountType(DiscountStructure discountStructure) {
this.discountStructure = discountStructure;
}
public int discountPrice(int price) {
return discountStructure.discountPrice(price);
}
}
아래가 그것을 구현한 enum 클래스다
이런경우는 interface DiscountStructure 에서 이게 어디서 어떻게 사용되는지 적어주어야 한다고 한다.....


사실 작성하다가 말이좀 이상한건가..>? 싶은건 지선생한테 교정을 받았다 ㅋㅋㅋㅋ
이제 나머지도 적용해봐야징....

휴,,,다했다....


퍼블릭으로 선언해놓고 생성자가 없어서 문제가 생겼다 ㅋㅋㅋ
만들어주자..


특정 디렉토리에 안에들어간 모든 클래스에 대해 javadoc을만들어주기위해서 위오ㅏ같은 명령어를 입력했다.
인텔리제이 참 편하다

error가 없이 났다면 저거 실행한 위치에 docs디렉토리 생성된다.

이런식으로 내가 작성했던 javadoc 내용들이 html에 들어가서 나온다 우왕

깃 허브에 평범하게 자바독 내용들을 모두 올리고 나면 스크립트 형태로 보이게된다.

요것 지정해주면 링크처럼 볼 수있다!!
https://github.com/Ksr-ccb/Sparta-Kiosk
https://ksr-ccb.github.io/Sparta-Kiosk/challenge/lv2/package-summary.html
만들었던 자바 독 완성품이다!!!!! 깃허브 링클아 같이 올려야쥐
javadoc -d docs -sourcepath src -subpackages challenge.lv2 -private
ㅠㅠㅠㅠㅠㅠ 열심히 작성한거 다 안올라가서 혼란혼란했다...
사실 지선생의 도움을 받아서 명령어 붙임...ㅎ