공부내용 정리 Java :: 기초 VII
1. 입력과 출력(input, output / IO)
어플리케이션을 실행하면 해당 어플리케이션을 이용하는 자(Client)는 프로그램에게 어떠한 동작 혹은 의도를 표시하여 전달하고(input) 어플리케이션은 그것을 받아들여 내부적으로 처리한 후 다시 되돌려주는(output) 일련의 과정이 있다.
이것을 입력과 출력(IO: Input & Output)이라고 하는데, 본 장에서는 입력과 출력에 대하여 학습을 하였다.
1. String[ ] args
자바 프로그램의 약속 부분에서 String [ ] args 라는 부분이 있었다. 어떠한 의미를 갖고 있는 것일까
public static void main (String [] args) {
...
앞서서 학습한 내용을 적용하여 생각해보면 String은 문자열을 의미하는 것이고 뒤에 것은 배열(Array)을 의미한다. 그리고 그 뒤에 args는 변수를 의미하는데, 즉 문자열을 할당받을 변수 args라는 의미가 되는것이다.
이제 전체적으로 다시 본다면 main이라는 메소드의 파라미터로서 문자열이 들어있는 배열 args가 있다는 것을 의미한다는 것을 알 수 있게 되었다. 그리고 main의 리턴타입은 void라고 되어있다. 즉 main은 아무런 값도 리턴하지 않는다는 의미이다.
String [ ] args는 자바 어플리케이션이 실행될 때 실행 환경에서 인자(Arguments)로 받은 것이 있다면 그것을 매개변수로 사용할 수 있도록 마련된 것이다.
2. 사용자에게 입력값 받기
프로그램을 실행할 때 실행환경에서 인자를 주는 것 역시 프로그램에게 입력값을 주기 위한 방법중 하나이지만 그렇게만 값을 줄 수 있다면 상호작용을 할 수 없는 일방적인 프로그램이라는 한계점을 지닌다.
본 장에서는 이미 실행된 프로그램에 사용자가 입력값을 줄 수 있도록 처리할 수 있는 방법에 대하여 학습하였다.
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
System.out.println(i*1000);
sc.close();
}
상단에 import는 라이브러리, 모듈등 다른사람이 작업한 결과물 혹은 구성해놓은 기능을 불러올 때 사용하는 기능이다. 차후에 다시 다루도록 한다.
본 예제에서는 Scanner라는 라이브러리를 사용하였다. Scanner는 사용하기 위해서는 import를 한 후 객체로 만들어 사용하여야 한다.
이로서 자바의 객체지향프로그래밍 이전의 기초적 문법 학습을 마치도록 한다. 학습을 하면서 쭉 봐왔듯이, 자바라는 언어는 객체지향으로만 프로그래밍을 한다.
php, python, js 와는 다르게 절차지향으로 프로그래밍을 할 수 없다고 해도 무방하다. 따라서 자바를 제대로 사용하고, 자바로 어떠한 프로그램을 구성하기 위해서는 부득이 필수적으로 객체지향에 대하여 학습하여야 한다.
이 다음으로 학습할 내용은 객체지향 프로그래밍과 자바이다.