객체
주로 우리는 자바 내부에서 지원하는 함수를 불러와서 사용하고 있다. 하지만 Scanner 및 수많은 객체들은 내부에서 지원을 하지 않아 따로 불러내서 사용을 해야 하는 경우들이 있다. 외부에서 불러낼 때는 import로 선언을 해준다. (ex. import java.util.Scanner;)
어떠한 기능을 하는 것을 모두 객체 라고 한다. 예를들면 자동차는 객체이고, 핸들, 바퀴, 휠 등의 기능을 하는 건 메소드 라고 한다. 메소드 여러 개가 모여서 어떠한 기능을 할 수 있게 하는 것이라고 생각하면 된다. 자바스크립트 function으로 기능을 만들어 준 것과 같은 기능을 하고 있다.
여기서 Scanner(단일 객체)의 경우 프로그램 내에서 입력 받는 건데 그냥은 못 쓰니까 new라는 연산자를 이용해서 변수를 입력 받는다.
Scanner sc = new Scanner(System.in);
Scanner 객체명
sc 변수명 Scanner가 sc에게 위임을 내리는 것이다. new로 sc는 새로운 기능을 받은 것임
new 객체를 sc로 바로 쓸 수 없고, 객체 변수를 만들기 위해서 new 연산자가 필요하다. sc에 기능을 넣어주기 위해서 붙인다고 보면 됨
Scanner 어떠한 기능을 갖고 있는지 부여를 해준다. 그래서 앞 뒤로 같은 값을 부여해야 한다.
(System.in); 여기서 System도 객체의 종류이고, in은 입력 받는다는 메소드이다.
int nextIntNum = sc.nextInt();
변수를 만들 때 데이터 타입을 만들고 변수명을 만드는 것 처럼 객체 변수도 만드는 방법은 똑같다. 객체의 기능을 가진 변수를 만들었다.
sc.close();
스캐너를 다 쓰고 출력한 뒤에 scannerName.close();로 닫아주어야한다.
들어가기 앞서 참고해야 할 것!
args는 외부에서 입력을 받고, Scanner는 내부에서 입력을 받는다. 후자를 더 많이 사용하는 편이다.
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//next
System.out.print("문자열 입력 : ");
String nextString = sc.next();
//next()문자열을 읽는 메소드
System.out.println("nextString = " + nextString);
//nextInt
System.out.print("숫자 입력 : ");
int nextIntNum = sc.nextInt();
//nextInt() 숫자를 읽는 메소드
System.out.println("nextIntNum = " + nextIntNum );
sc.close();
}
}
스캐너 객체를 불러와서 사용한다. 스캐너를 입력하면서 가장 상단에 필요한 정보들을 불러왔다. String은 문자열을 읽는 데이터 타입으로 뒤에 메소드도 sc.next()로 받아주면 된다. int는 정수형 데이터 타입으로 뒤에 메소드도 sc.nextInt()로 받아주면 된다.
import java.util.Scanner;
public class Program_5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("x 값을 입력하세요 : ");
int x = sc.nextInt();
System.out.print("y 값을 입력하세요 : ");
int y = sc.nextInt();
int b=0;
if(x>y) {
b = x-y;
System.out.println("x - y = " + b);
}else if(x<y){
b = y-x;
System.out.println("y - x = " + b);
}else {
System.out.println("두 값이 같습니다.");
}
sc.close();
}
}
값을 입력 받아서 계산을 하는 예제이다. 맛보기로 실행해보기 좋다.
'개발일지 > Java + Spring' 카테고리의 다른 글
[java] 0916 정리 및 예제 (0) | 2021.09.16 |
---|---|
[java] 문자열 비교 메소드 3가지(대소문자 구별?) (0) | 2021.09.16 |
[java] if-else문(로그인처리) (0) | 2021.09.15 |
[java] 다양한 복습 예제(문자열 자르기, 상수, 함수, 연산자) (0) | 2021.09.15 |
[java] 연산자 모음 (0) | 2021.09.15 |