사용자 인터페이스 또는 유저 인터페이스(영어: user interface, UI)는 사람(사용자)과 사물 또는 시스템, 기계, 컴퓨터 프로그램 등 사이에서 의사소통을 할 수 있도록 일시적 또는 영구적인 접근을 목적으로 만들어진 물리적, 가상적 매개체를 뜻한다
지금까지 값들을 자기가 입력했엇는데
사용자에게 입력을받고 사용자에게 목록을 보여주도록 사용자 인터페이스를 붙여보자
웹기반의 사용자 인터페이스를 붙일수도 있는데 콘솔기반으로 해보자

이렇게 생긴거 만들거임
패키지 하나만들자 service대신 console넣고
클래스명 NoticeConsole로 만들자
이제 여기다가 어떤 메소드를 가지게 할것인가 ?
탑다운방식으로 만들자 (메인함수로부터 절차를 만들어가고 거기서부터 하위로 나가는게 탑다운)
ex1패키지에 클래스하나 추가 이름 아무거나
콘솔 출력을 위해
NoticeConsole console = new NoticeConsole();
console.printNoticeList();
밑에 메뉴를 만들기위해 입력받기위해
int menu = console.inputNoticeMenu();
switch (menu) {
case 1://상세조회
break;
case 2://이전
break;
case 3://다음
break;
case 4://글쓰기
break;
}

console.printNoticeList();
console.inputNoticeMenu();
두개 구현을 위해 오른쪽에 NoticeConsole.java를 띄워두고 커서 입력 상태에서
밑줄쳐진 메서드에 커서를 올리고 create해주자
console.printNoticeList();
이놈 출력을 위해 데이터가 필요한데
public class NoticeConsole {
private NoticeService service;
클래스 밑에 만들어주자
그리고 생성자 만들고 만든 데이터를 생성해주자
public NoticeConsole() {
service = new NoticeService();
}
public void printNoticeList()
밑에
List<텍스트Notice> list = service.getList();입력
service가 제공하는 List목록을 얻어서 list에 넣자
그리고 밑에
System.out.println("────────────────────────────────");
System.out.printf("<공지사항> 총 %d게시글\n", 12);
System.out.println("────────────────────────────────");
for(Notice n : list) {
System.out.printf("%d. %s/ %s/ %s\n",
n.getId(),
n.getTitle(),
n.getWriterId(),
n.getRegDate());
}
System.out.println("────────────────────────────────");
System.out.printf(" %d/%d pages\n", 1, 2);
추가

예외는 다 던지기