자바 Scanner 클래스: 사용자 입력의 관문
소개
안녕하세요, 열정적인 학습자 여러분! 오늘 우리는 자바 프로그래밍에서 가장 유용한 도구 중 하나를 배울 것입니다: Scanner 클래스. Scanner 클래스는 프로그램이 사용자와 소통하는 데 도움을 주는 친절한 비서라고 생각해 보세요. 사용자가 입력한 모든 것을 메모해 주는 개인 비서를 두고 있는 것과 같습니다!
저는 처음 자바를 가르칠 때 많은 학생들이 사용자 입력에 어려움을 겪는 것을 발견했습니다. 하지만 Scanner 클래스를 마스터한 후, 그들의 머리 위에 불이 켜지는 것을 보았습니다. 그래서 이 흥미로운 여정을 함께 시작해 보겠습니다!
클래스 선언
우리의 "비서"를 사용하기 전에, 자바에게 Scanner 클래스를 사용하고 싶다고 알려야 합니다. 이를 위해 프로그램의 시작 부분에 특별한 줄을 추가합니다:
import java.util.Scanner;
이 줄은 자바에게 "Hey, 당신의 유틸리티 상자에 있는 Scanner thing을 사용하고 싶어!"라고 말하는 것과 같습니다. Scanner를 사용하고 싶을 때마다 이 줄을 포함하도록 기억하세요.
클래스 생성자
이제 자바에게 Scanner를 사용하고 싶다고 알린 후, Scanner 객체를 생성해야 합니다. 이는 비서를 고용하고 이름을 지어주는 것과 같습니다. 다음과 같이 합니다:
Scanner myScanner = new Scanner(System.in);
이를 간단히 설명하자면:
-
Scanner
는 우리가 만드는 객체의 타입입니다. -
myScanner
는 우리가 Scanner 객체에 지은 이름입니다 (원하는 이름을 선택할 수 있습니다). -
new Scanner(System.in)
는 시스템( 키보드)에서 입력을 읽는 새로운 Scanner를 생성합니다.
클래스 메서드
우리의 Scanner "비서"는 다양한 기술(메서드)을 가지고 있어 다양한 유형의 입력을 수집하는 데 도와줍니다. 가장 흔히 사용되는 몇 가지를 소개합니다:
메서드 | 설명 |
---|---|
nextLine() | 텍스트 줄을 읽습니다 (문자열) |
nextInt() | 정수를 읽습니다 |
nextDouble() | 더블(소수점 수)을 읽습니다 |
nextBoolean() | 부울(참/거짓)을 읽습니다 |
next() | 다음 단어를 읽습니다 |
상속된 메서드
Scanner는 부모 클래스로부터 상속된 몇 가지 메서드도 가지고 있습니다. 지금은 너무 신경 쓰지 마세요, 하지만 이들이 존재한다는 것을 알아 두세요:
메서드 | 설명 |
---|---|
clone() | Scanner의 사본을 만듭니다 |
equals() | 이 Scanner를 다른 객체와 비교합니다 |
finalize() | Scanner를 쓰레기 수거를 위해 준비합니다 |
hashCode() | 이 Scanner의 해시 코드를 반환합니다 |
toString() | Scanner의 문자열 표현을 반환합니다 |
콘솔에서 줄 읽는 Scanner 클래스 예제
이제 새로운 지식을 실践에 바르는 간단한 예제를 보겠습니다:
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
// Scanner 객체 생성
Scanner myScanner = new Scanner(System.in);
// 사용자에게 이름을 물음
System.out.println("What's your name?");
// 사용자 입력 읽기
String name = myScanner.nextLine();
// 인사 출력
System.out.println("Hello, " + name + "! Welcome to Java programming!");
// Scanner 닫기
myScanner.close();
}
}
이를 간단히 설명하자면:
- Scanner 클래스를 임포트합니다.
- Scanner 객체
myScanner
를 생성합니다. - 콘솔에 질문을 출력합니다.
-
nextLine()
을 사용하여 사용자 입력을 읽고name
변수에 저장합니다. - 사용자가 입력한 이름을 사용하여 인사를 출력합니다.
- Scanner를 닫아 리소스를 해제합니다.
출력
이 프로그램을 실행하면 다음과 같이 보일 것입니다:
What's your name?
Alice
Hello, Alice! Welcome to Java programming!
이Isn't that cool? It's like having a conversation with your computer!
경고 한 마디
제 교육 경험에서 이야기하자면, 한 학생이 프로그램이 끝난 후 Scanner를 닫지 않았습니다.처음에는 괜찮았지만, 나중에 더 복잡한 프로그램을 실행할 때 이상한 일이 일어났습니다! Scanner를 사용한 후에는 항상 닫아야 합니다. 마치 비서를 하루가 끝나면 해고하는 것과 같습니다.
결론
축하합니다! 자바에서 사용자 입력의 세계로 첫 걸음을 뗐습니다. Scanner 클래스는 상호작용적인 프로그램을 만드는 데 유용한 강력한 도구입니다. 연습이 완벽을 이루는 것을 기억하세요. 다양한 유형의 입력을 요청하는 프로그램을 만들어 보세요 - 아마 계산기를 만들거나 퀴즈 게임을 만들어 보세요!
자바 여정을 계속하면서 더 많은 흥미로운 기능을 발견할 것입니다. 하지만 지금은 자신을 칭찬해 주세요. 이제 당신은 단지 컴퓨터와 대화하는 것이 아니라, 대화를 나누고 있습니다!
Credits: Image by storyset