프로그램은 사용자로부터 특정 형태의 데이터를 입력을 받아 특정 형태로 출력을 해주게끔 하는 무언가다.
입력(Input)을 받는 방법은 여러가지가 있다.
먼저 그냥 소스코드에 입력할 데이터를 직접 써놓는 경우..
하지만 상황이 바뀌어 입력값을 바꿔줘야 할 경우, 매번 똑같은 입력값들을 지우고 다시 써야하는 엄청난 번거로움이 생기기 마련이다. 보다 편리한 방법은 변수를 하나 만들어 거기에 입력값을 지정해주는 것이다.
이렇게하면 매 코드마다 입력값을 수정해줄 필요 없이, 해당 변수의 입력값만 수정해주면 된다.
하지만 이 역시 코드가 길어지고 복잡해지면 똑같은 번거로움을 피하긴 어려울거다.
그래서 코딩과정에서 입력값을 받는것이 아닌, 별도의 창을 띄워 사용자로부터 직접 데이터를 입력받는 방법을 사용할 수도 있다. java의 GUI 툴킷인 swing을 사용하면 별도의 팝업창을 만들어 필요한 데이터를 사용자가 직접 입력할 수 있다.
// JOptionPane을 import. 팝업창을 띄워 변수의 input값을 그때그때 사용자가 입력하도록 함
String Id = JOptionPane.showInputDialog("Enter the ID");
swing의 JOptionPane을 import하면 input값을 받는 팝업창이 하나 띄워지게 된다.
팝업창에 입력하고자 하는 값을 넣으면 해당 값을 변수로하여 프로그램이 실행된 것을 볼 수가 있다.
그런데 매개변수(=인자, Parameter)를 통해 미리 입력하고자 하는 인수(Arguments)를 지정해놓고 실행시킬 수도 있다. 이럴 경우 바꾸고자 하는 여러 경우의 인수들을 미리 한번에 세팅하여 해당 클래스를 테스트 해보는것이 가능한데, 사실 이것은 이클립스의 기본기능으로 Input을 전달하는 일반적인 방법이기도 하다.
처음 자바를 실행할때 써놓았던 저 (String[] args)가 바로 매개변수를 말한 것임을 이제서야 알게되었다.
args라는 이름의 매개변수는 문자열(String)타입의 인수로만 이뤄진 리스트라는 정도의 의미가 아닐까싶다.
그러면 미리 인수(input값)들을 저장하는 것은 어디서 해야할까?
이클립스 상단의 Run Configurations 에서 Arguments로 들어가면 매개변수로 호출할 인수들을 미리 입력할 공간이 나온다. 문자열만 가능하므로 인수를 적을때 작은따옴표(or큰따옴표)로 입력한 뒤, 적용(Apply)후 Run으로 실행시키면 끝.
(이왕이면 해당 인수로 이름을 수정해두는게 나중에 알아보기 좋다.)
주의해야 할 점은 Arguments에서 인수 입력시 따옴표로 인수를 구별하지 않으면, 띄어쓰기된 단어 각각을 별개의 인수들로 인식하게 된다는 것이다.
결과를 보면 입력된 인수들이 정상적으로 호출된것을 확인할 수 있다.
또한, 디버깅을 통해 입력한 인수들이 의도한대로 정확하게 구분되어있는지 확인할 수도 있다.
'코딩공부 > Java' 카테고리의 다른 글
4. 자바문서 보는법 (API/UI, 패키지/클래스, 인스턴스, 상속) (0) | 2022.10.20 |
---|---|
2. 데이터 유형(Data Type)과 변수(Variable) (2) | 2022.10.08 |
1. "Hello World" (.Java와 .class) (0) | 2022.10.07 |