forked from woowacourse/java-baseball-precourse
camp.nextstep.edu.missionutils.Console 의 메서드를 알아보자
her0807 edited this page Nov 27, 2021
·
3 revisions
우테코 미션을 진행하며 아래와 같은 요구사항이 있었다.
- 사용자가 입력하는 값은
camp.nextstep.edu.missionutils.Console의 readLine()
을 활용한다.
패키지명을 보니 이것 또한 포비 대장님이 계신 nextstep 에서 만든 것 같았다.
메서드 내부를 살펴보자!
- readLine
- getInstance
- isClosed
getInstance 메서드로 Scanner 객체가 없으면 만들어서 nextLine() 문자열(한줄)을 받고, 받은 문자열을 리턴한다.
isClosed
를 사용해서 Scanner 객체 여부를 반환받고, 없으면 만들어서 반환하고, 있으면 있는 Scanner 객체를 반환한다.
Scanner 객체 여부를 반환한다.
final Field sourceClosedField = Scanner.class.getDeclaredField("sourceClosed"); // Scanner 에 접근하기 위한 작업
sourceClosedField.setAccessible(true);// Scanner 값에 접근하기 위한 권한 부여
return sourceClosedField.getBoolean(scanner); // // Scanner 객체가 있는지?
기존에 유사한 API 가 있는데 새로 만드신 이유가 궁금하다! Scanner 내부도 살펴봐야겠다.
- camp.nextstep.edu.missionutils.Console
- Field 클래스