데이터를 입력받는 코드는 아래와 같다.
import java.util.Scanner;//스캐너를 가져온다.
Scanner scanner = new Scanner(System.in);//클래스에 인스턴스 생성
String inputValue = scanner.nextLine(); //입력한 내용이 inputValue에 저장
System.out.println(inputValue);//입력한 문자열 출력
qwe
qwe
클래스도 타입으로 들어올 수 있음> 사용자가 만든 클래스도 타입으로 가능
import java.util.Scanner;
Scanner 는 압력받는 프로그램으로 위 코드는 ‘java.util에 있는 Scanner를 이 소스 코드로 불러와라’라는 의미이다.
Scanner scanner = new Scanner(System.in);
위에서 불러온 Scanner는 클래스이다. 클래스는 구조도(설계도) 같은 개념이며, 우리가 사용하고자 하는 Scanner 클래스의 데이터 입력 기능은 Scanner 클래스 자체가 아니라, 그것을 통해 만들어낸 객체에 존재한다. 따라서 데이터 입력 기능을 사용하려면 Scanner 클래스를 통해 객체를 먼저 만들어야한다.
클래스를 통해 객체를 만들어 낼 때는 new연산자를 사용하며, 그 결과물로 만들어진 객체를 인스턴스라고 한다. 이렇게 클래스에 new 연산자를 적용하여 인스턴스를 만드는 것을 ‘클래스를 인스턴스화한다'라고 표현한다.
즉, 불러온 Scanner 클래스를 new 연산자를 통해 인스턴스를 생성하고, 생성된 인스턴스를 변수 scanner에 할당하는 코드이다.
String inputValue = scanner.nextLine();
위에서 Scanner 클래스를 인스턴스화한 scanner에는 nextLine()이라는 매서드가 콘솔을 통해 문자열 데이터를 입력받는 기능을 수행한. 즉 scanner.nextLine()은 문자열을 입력받기 위한 코드이며, 입력받은 문자열은 inputValue라는 변수에 할당되어 저장된다.
참고로, scanner에는 문자열을 입력받는 nextLine()뿐만 아니라, 정수형을 입력받을 수 있는 nextInt(), 실수형을 입력받을 수 있는 nextFloat()등의 메서드들도 존재한다.
import java.util.*;
다 불러오는 코드이다.
'java > 콘솔 입출력(IO)' 카테고리의 다른 글
| 콘솔 출력 (0) | 2024.04.05 |
|---|