Scanner 클래스

sanchez9·2023년 6월 3일
0

JAVA 공부

목록 보기
6/6

Scanner 클래스

자바에서 키보드로 입력받기 위한 여러가지 방법 중 하나인 Scanner라는 클래스이다.


Scanner 클래스 사용방법

Scanner 클래스를 사용하고자 할때는 Scanner 클래스를 호출하고, 객체를 생성해주어야 한다.

클래스 호출은 import를 입력한 후, 그 뒤에 원하는 클래스가 속해있는 패키지를 써주면 된다.

  • import : 호출 명령어
import 패키지명.클래스명;

자바에서 쓰이는 대부분의 클래스는 lang 패키지가 아니라면 import를 통해 호출해주어야 한다.

Scanner 클래스는 java.util 패키지에 위치해있다.

import java.util.Scanner; // java.util 패키지에 있는 Scanner 클래스

객체 생성은 다음과 같은 과정을 거친다.

  1. new 연산자를 사용하여 객체를 생성하고 초기화.
  2. new 연산자는 생성된 객체의 주소를 변수에 저장.
  3. 객체를 통해 클래스에 접근 가능.
// 클래스명 객체명 = new 클래스명(매개변수);
Scanner scn = new Scanner(System.in); // 객체 생성

Scanner 클래스가 위치한 java.util 패키지를 import 해주고, Scanner 객체를 생성해주었다.

new는 새로운 인스턴스heap 메모리에 할당하겠다는 의미이며, 매개변수 괄호안에 적힌 System.in은 화면에서 입력을 받겠다는 의미이다.

객체(object) vs 인스턴스(instance)

객체: 클래스의 타입으로 선언되었을때
인스턴스: 메모리에 할당되어 실제 사용될때

  • 예시)
public class Animal{
	
}

public class Main {
	public static void main(String[] args) {
   	Animal cat, dog; //객체
       
       cat = new Animal(); //Animal 이라는 클래스에 cat 이라는 인스턴스(메모리에 할당)
       dog = new Animal(); //Animal 이라는 클래스에 dog 이라는 인스턴스(메모리에 할당)
   }
}

객체인스턴스는 서로 혼용되기도 하는 용어라는데, 아직은 이해하기 어려운 개념인 것 같다.


Scanner 클래스의 Method

  • 읽은 바이트를 문자, 정수, 실수, 불린, 문자열 등 다양한 타입으로 변환하여 리턴
  • 키보드에 연결된 System.in에게 키를 읽게 하고 원하는 타입으로 변환하여 리턴
Scanner scn = new Scanner(System.in);

//이하 메서드들
scn.next(); //문자열 입력
String url = scn.next(); // 띄어쓰기 전까지만 받는다.
scn.nextLine(); //문자열 입력(₩n 포함)
scn.nextlnt(); //정수 입력
int num1 = scn.nextlnt();

그 외의 메소드는 아래 주소에서 확인할 수 있다.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Scanner.html

profile
자바를 배우고 있어요

0개의 댓글