1) 키보드 입력
: 컴퓨터 프로그램의 기본 구조는 입력 → 처리 → 출력의 과정입니다. 프로그램에서 처리 과정을 실행하기 위해서는 데이터를 받아야 하는데 대표적인 방법은 키보드를 통해 데이터를 입력하는 것입니다.
1-1) 표준 입출력
: 입출력 장치는 다양하게 있을 수 있고 자바에는 가장 기본이 되는 키보드 표준 입력 System.in과 표준 출력 System.out으로 정의돼 있습니다. 이들 객체는 각각 java.io.InputStream, java.io.PrintStream 클래스의 인스턴스입니다.
1-2) java.util.Scanner
: Scanner 클래스는 입력 스트림으로부터 데이터를 읽어오기 위한 유틸리티 클래스입니다. 스트림은 데이터 입출력을 위한 통로로 파일과 연결된 스트림을 사용하면 파일로부터 데이터를 읽을 수 있고 네트워크와 연결된 스트림을 사용하면 네트워크 통신으로 데이터를 읽을 수 있는 개념입니다.
사용하기 전에 java.util 패키지를 import 해주어야 합니다.
사용법은 다음과 같습니다.
Scanner scan = new Scanner(System.in);
String name = scan.next();
int num = scan.nextInt();
- 입력값을 문자열로 반환하는 next()를 비롯해 nextByte(), nextInt() 등 데이터 타입에 따른 메서드가 존재합니다.
- 입력값이 공백으로 구분돼 한 줄로 입력될 경우 공백을 기준으로 다음 데이터를 찾습니다. 그러므로 한 줄 전체를 문자열 입력으로 처리하려면 nextLine()을 사용해야 합니다.
- hasNext()는 다음 데이터가 있는지 true/false로 알려줍니다.
2) 로깅
: 프로그램에서 기록을 위해 메세지를 남기는 것을 로깅이라고 합니다. 예를 들어서 사용자의 접속 기록, 프로그램 수행과정에서 발생하는 정보들과 에러 메세지들도 서버 로그에 기록됩니다.
2-1) 로깅 프레임워크(Logging Framework)
: 로거(Logger)라고도 하고 log4j, slf4j, logback 등이 대표적입니다.
- log4j는 가장 오래되고 많은 사용자를 보유하고 있으며 다양한 설정을 통해 관리가 가능합니다.
- logback은 log4j를 기반으로 빠른 속도로 log4j를 대체해 나가고 있습니다.
- slf4j는 자체 로거는 아니고 다른 로거와 결합해 사용할 수 있습니다.
2-2) java.util.logging
: 자바에서 기본으로 제공되는 로깅 라이브러리입니다.
- SEVERE : 가장 심각한 레벨입니다. 시스템에 문제가 발생한 경우 사용됩니다.
- WARNING : 문제를 발생시킬 수도 있는 잠재적 문제일 경우 사용됩니다.
- INFO : 정보성 메세지로 실행 기록, 입력값 등에 사용됩니다.
- CONFIG : 프로그램의 설정 관련 메세지입니다.
- FINE : 프로그램 분석 등을 위한 정보 출력에 사용됩니다.
- FINER : FINE 보다 더 상세한 특정 함수나 클래스 진입 등에 대한 정보가 포함됩니다.
- FINEST : 가장 상세한 Trace 메세지로 시스템의 정보나 송수신된 메세지 등의 정보가 포함됩니다.
'JAVA > JAVA 개념' 카테고리의 다른 글
JAVA 개념 4-2 - 추상클래스와 인터페이스 (0) | 2023.01.12 |
---|---|
JAVA 개념 4-1 - 상속과 오버라이딩 (0) | 2023.01.03 |
JAVA 개념 3-3 - 배열 (0) | 2022.11.25 |
JAVA 개념 3-2 - 반복문 (0) | 2022.11.24 |
JAVA 개념 3-1 - 조건문 (0) | 2022.11.23 |