출력을 인쇄하려면 System.out 스트림을 사용하고 입력을 받으려면 Scanner 개체의 Constructor에서 System.in을 전달한 다음 해당 개체 만 사용해야합니다.
왜 그래야만하지 ? System.in.nextInt () 또는 이와 유사한 직접 메서드가없는 이유는 무엇입니까?
System.in은 단순히 InputStream입니다. 수년 전에 설계된 꽤 일반적인 인터페이스입니다. 이 측면을 변경하면 많은 기존 코드가 손상됩니다. 따라서 System.in 유형을 변경하는 것은 불가능합니다.
반면에 스캐너 메서드를 스트림에 추가하면 기존 클래스가 부풀려집니다. 단일 책임 원칙 또는 우려 사항 분리와 같은 개념을 생각해보십시오.
좋은 객체 지향 디자인은 하나의 책임 을 가진 소규모 클래스를 갖는 것 입니다. 2 개도 5 개도 10 개도 아닙니다.
그러나 나는 당신이 특정한 요점을 가지고 있다고 생각합니다. 그리고 만약 자바가 오늘 재 작성된다면, 그 입력 스트림은 결국 더 편리해질 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다