도서회원을 관리하는 시스템을 개발중에 있다.
구현할 주요 기능
join : 완료
rent status : 만드는 중
userList manage : 완료
booklist manage : 완료
기존의 예제에서는 회원을 1명만 입력해서 시험삼아 프로그램을 돌렸었다.
나는 회원을 여러 명 추가하는 userlist 배열을 만들어서
입력받은 회원이 users배열에 추가되고 조회할 수 있도록 구현하고 있다.
마주친 문제

nullexception
그래서 아래와 같은 사항을 확인해야 했다.


//save inputted data
repository.saveBookUser(new BookUser(name, age, gender, 0));
//field
SimpleInput si;
static LibraryRepository repository = new LibraryRepository();
공유할 수 있는 객체를 생성해야 한다.
나는 여기서 만들지 않고 새로 생성하는 객체에서의 new 를 참조할 수 있을 줄 알았다.
static LibraryRepository repository = new LibraryRepository(); 대신 LibraryRepository repository; 로 코드를 짜서 실행해도 입력받을때까지는 문제가 없다.
그런데 데이터를 관리해야하는 저장소 LibraryRepository repository;에서 데이터가 쌓이는 static instance를 만들지 않고, method에서 생성되는 instance에 의존하게 되면 위의 데이터 저장하는 코드를 작성해도 데이터가 쌓이지 않는다.
그래서 repository 가 null 로 뜨게 된다.
✨ 결론 🧐
데이터를 저장하고 참조하고 싶을 때는 static을 활용한 instance를 꼭 꼭 기억해서 만들어놓자.