Language/Java

공부내용 정리 Java :: 기초 VII

Cs.Woo 2021. 6. 16. 00:01

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 와는 다르게 절차지향으로 프로그래밍을 할 수 없다고 해도 무방하다. 따라서 자바를 제대로 사용하고, 자바로 어떠한 프로그램을 구성하기 위해서는 부득이 필수적으로 객체지향에 대하여 학습하여야 한다.

 이 다음으로 학습할 내용은 객체지향 프로그래밍과 자바이다.