์ํ์ฝ๋ฉ JAVA1
- 1. ์ ๋ ฅ๊ณผ ์ถ๋ ฅ -
- 2. ์ ๋ ฅ๊ณผ ์ถ๋ ฅ - arguments & parameter -
1. ์ ๋ ฅ๊ณผ ์ถ๋ ฅ
ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ํ๋ ๊ฒ์ ๋ค์ด์ค๋ ์ ๋ณด์ ์ ๋ ฅ์ ์ฒ๋ฆฌํด์ ์ถ๋ ฅ์ ๋ง๋ค์ด๋ด๋ ๊ธฐ๊ณ๋ผ๊ณ ํ ์ ์๋ค.
๋ํ, ์ ๋ ฅํ๋ Input์ ํํ๋ Argument, File, Network ๋ฑ ๋ค์ํ ํํ๋ก ๋ค์ด์ Monitor, File, Audio ๋ฑ์ผ๋ก ์ถ๋ ฅ Output ๋์ด์ ๋์ค๊ฒ ๋๋ค.
์ค๋์ ๋ชฉํ๋ ์ฐ๋ฆฌ๊ฐ ์ด๋ ํ ์ ๋ ฅ๊ฐ์ ์ฃผ๋๋์ ๋ฐ๋ผ ๋ค๋ฅธ ์ถ๋ ฅ๊ฐ์ด ๊ฒฐ๊ณผ๋ก ๋์ค๋์ง ์์๋ณด๋ ๊ฒ์ด๋ค.
import org.opentutorials.iot.Elevator;
import org.opentutorials.iot.Lighting;
import org.opentutorials.iot.Security;
public class OkJavaGoInHome {
public static void main(String[] args) {
String id = "JAVA APT 507";
// Elevator call
Elevator myElevator = new Elevator(id);
myElevator.callForUp(1);
// Security off
Security mySecurity = new Security(id);
mySecurity.off();
// Light on
Lighting hallLamp = new Lighting(id + " / Hall Lamp");
hallLamp.on();
Lighting floorLamp = new Lighting(id + " / Hall Lamp");
floorLamp.on();
}
}
์ฌ๊ธฐ ์ง์์ ์์ฃผ ์ฌ์ฉํ๋ ์ ํ์ ์์ฐจ์ ์ผ๋ก ์๋ํ ์ ์๋ ํ๋ก๊ทธ๋จ์ด ์๋ค.
ํ์์๋ ์ ์ฌ์ฉํ ์ ์์ง๋ง ๋ง์ฝ ์ด์ฌ๋ฅผ ๊ฐ๊ฒ๋๋ค๋ฉด ์ด ํ๋ก๊ทธ๋จ์ JAVA APT 507๋ก ๊ณ ์ ๋์ด ์์ด์ ์ด์ฌํ ๊ณณ์์ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ์ฝ๋๋ฅผ ์ง์ ๋ณ๊ฒฝํ ํ ์ปดํ์ผ ํ์ฌ ๋ค์ ๋ง๋ค์ด์ผ ํ ๊ฒ์ด๋ค.
๋ํ ์ด ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ์ฌ๋์ด ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ์์ค์ฝ๋๋ฅผ ๋งค๋ฒ๋ฐ๊พธ๊ณ ์ปดํ์ผํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์กด์ฌํ ๊ฒ์ด๋ค.
๊ทธ๋์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ์ฌ์ฉ์๊ฐ ํ ์คํธ์ ๋ณด๋ฅผ ์ง์ ์ ๋ ฅํด์ ID์ ๋ณด๋ฅผ ์ ํ ํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํ๋ค.
์ธํฐ๋ท์ ์ฐพ์๋ณด๋ ์ด๋ฌํ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ด์ผ ๋์๋๋ค๋ ๊ฒ์ ํ์ธํ๊ณ , ์ฐ๋ฆฌ๋ ๊ธฐ์กด์ ์ง์ ์ ๋ณด๋ฅผ ๋ด์๋ ๋ณ์ id์ ์ด๋ฌํ ์ฝ๋๋ฅผ ์์ฉ์์ผ์ ๋ฃ์ด์ฃผ์๋ค.
๋ง์ฝ ์๋ฌ๊ฐ ๋ฐ์๋๋ค๋ฉด import javax.swing.JOptionPane; ์ ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
import javax.swing.JOptionPane;
import org.opentutorials.iot.DimmingLights;
import org.opentutorials.iot.Elevator;
import org.opentutorials.iot.Lighting;
import org.opentutorials.iot.Security;
public class OkJavaGoInHomeInput {
public static void main(String[] args) {
String id = JOptionPane.showInputDialog("Enter a ID");
// ๋ถ๋น์ ๋จ๊ณ๋ฅผ ์ซ์๋ก ์
๋ ฅํ๋ ์๋ก์ด ์ฐฝ ๋ฐ์!
String bright = JOptionPane.showInputDialog("Enter a Bright Level");
// Elevator call
Elevator myElevator = new Elevator(id);
myElevator.callForUp(1);
// Security off
Security mySecurity = new Security(id);
mySecurity.off();
// Light on
Lighting hallLamp = new Lighting(id + " / Hall Lamp");
hallLamp.on();
Lighting floorLamp = new Lighting(id + " / Hall Lamp");
floorLamp.on();
DimmingLights moodLamp = new DimmingLights(id + " moodLamp");
// setBright๋ผ๋ ๋ฉ์๋์์๋ doubleํ์ด ๋ค์ด๊ฐ๋ฏ๋ก parseDouble๋ก string -> double ํ๋ณํ
moodLamp.setBright(Double.parseDouble(bright));
moodLamp.on();
}
}
๋ํ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฑ์ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ํด์ฃผ๊ธฐ์ํ ์ฐฝ์ ์๋ก ์ถ๊ฐํด์ฃผ์๋๋ฐ ์ด๋์ ๊ฐ์ ์ซ์๋ก ๋ค์ด๊ฐ์ผํ๊ธฐ ๋๋ฌธ์ ํ์ ๋ณํํด์ฃผ๋ ๊ณผ์ ์ ์ถ๊ฐํด์ฃผ์๋ค.
์คํํด์ฃผ๋ฉด 2๊ฐ์ input์ฐฝ์ ๊ฑฐ์ณ์ ๋ด๊ฐ ์ ๋ ฅํ ๊ฐ๊ณผ ํจ๊ป ๋ช ๋ น์ด ์ฒ๋ฆฌ๋์ด ์๋ ๊ฒฐ๊ณผ๊ฐ์ ํ์ธํ ์ ์๋ค.
์ด๋ ๊ฒ ๋๋ฉด ์ธ์ ๋ ๋๊ฐ์ด ๋์ํ๋ ๊ฒ์ด ์๋๋ผ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋์ํ๋ฉฐ, ์ฝ๋๋ฅผ ๋ชจ๋ฅด๋ ์ผ๋ฐ ์ฌ์ฉ์๋ ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๋ก๊ทธ๋จ์ด ๋ ๊ฒ์ด๋ค.
2. ์ ๋ ฅ๊ณผ ์ถ๋ ฅ : arguments & parameter
์ฌ์ฉ์๊ฐ ๋งค๋ฒ ์ ๋ณด๋ฅผ ์ ๋ ฅํด์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉ์์๊ฒ๋ ์ ๋ง ์ข์ ๋ฐฉ๋ฒ์ด์ง๋ง ๊ฐ๋ฐํ๋ ์ฌ๋์ ์ ์ฅ์์๋ ํ ์คํธ๋ฅผ ํ ๋๋ง๋ค ๊ฐ์ ์ ๋ ฅํด์ผ ํ๋ ๊ณผ์ ์ด ๋ค์ ๋ถํธํ๋ค๊ณ ์๊ฐํ ์ ์๋ค.
๊ทธ๋์ ์ด๋ฒ์๋ ํ๋ก๊ทธ๋จ์์ ๊ฐ์ ๋ฏธ๋ฆฌ ์ค์ ํด์ฃผ์ด์ ๋งค๋ฒ ์ ๋ ฅํ์ง ์๊ฒ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๊ณ ํ๋ค.
Run๋ฒํผ ์ฐ์ธก์ ์๊ฒ โพ๋ฒํผ์ ํด๋ฆญํ ํ Run Configurations... ๋ฅผ ๋๋ฌ์ค๋ค.
๊ทธ๋ฌ๋ฉด ์ฐ๋ฆฌ๊ฐ ์ด๊ณณ์ ์์ฑํ Java Application๋ฆฌ์คํธ๋ฅผ ๋ณผ ์ ์๋๋ฐ ํ์ฌ ์ฐ๋ฆฌ๊ฐ ํ ์คํธ ํด ๋ณผ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํด๋ฆญํด ์ค๋ค.
(๋ง์ฝ, ํด๋น ์๋ฐํ์ผ์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด Run๋ฒํผ์ ํ ๋ฒ ๋๋ฌ์ค ๋ค์์ ๋ค์ ์ ์ํด ์ฃผ๋ฉด ๋๋ค.)
Argumentsํญ์ ์ ์ํด ์ ๋ ฅ๊ฐ์ ์ ๋ ฅํด ์ฃผ๋ฉด ๋๋ค.
์ด๋, ๊ทธ๋๋ก ๋์ด์ฐ๊ธฐ๊ฐ ๋ฐ์๋๋ฉด ํ ๊ฐ์ ์ ๋ ฅ๊ฐ์ด ์๋ ๋ฐ๋ก๋ฐ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ์์๋ฐ์ดํ์์ ๊ฐ์ ๋ฃ์ด์ค๋ค.
๋ํ ํ ๊ฐ์ ๊ฐ์ด ์๋ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ํ๋ฉด ์คํ์ด์ค๋ฐ๋ฅผ ๋๋ฌ์ ๋๋ ์ ๊ฐ์ ์ ๋ ฅํ๋ฉด ๋๋ค.
์๋จ์ ์๋ Name์ ๋ด๊ฐ ์ด๋ ํ ์ ๋ ฅ๊ฐ์ ์ ์๋์ง ๋ฐ๋ก ์ ์ ์ ์์ด ํ์ผ ์ด๋ฆ ์์ ์์ฑํด๋ ๋๋ค.
Apply๋ฅผ ๋๋ฌ์ค ํ Run ๋ฒํผ์ ๋๋ฅด๋ฉด ์๊น์ ๋ณํจ์๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋๋ฐ ์ด์ ์ฐ๋ฆฌ๋ Arguments๋ฅผ ๋ฐ์๋ด๋ ์ฝ๋๋ก ์์ ํด์ผ ํ๋ค.
import javax.swing.JOptionPane;
import org.opentutorials.iot.DimmingLights;
import org.opentutorials.iot.Elevator;
import org.opentutorials.iot.Lighting;
import org.opentutorials.iot.Security;
public class OkJavaGoInHomeInput {
public static void main(String[] args) {
String id = args[0]; // Java APT 507
String bright = args[1]; // 10.0
// Elevator call
Elevator myElevator = new Elevator(id);
myElevator.callForUp(1);
// Security off
Security mySecurity = new Security(id);
mySecurity.off();
// Light on
Lighting hallLamp = new Lighting(id + " / Hall Lamp");
hallLamp.on();
Lighting floorLamp = new Lighting(id + " / Hall Lamp");
floorLamp.on();
DimmingLights moodLamp = new DimmingLights(id + " moodLamp");
moodLamp.setBright(Double.parseDouble(bright));
moodLamp.on();
}
}
์๊น์ ์ฐ๋ฆฌ๊ฐ Arguments๋์ ์ ์ ์ ๋ ฅ๊ฐ์ args๋ฅผ ํตํด์ ๊ฐ์ ๋ฐ์์ค๊ฒ ๋๋๋ฐ ์ด ๊ฐ๋ค์ Stringํ์ด ๋ค์ด๊ฐ ์ ์๋ ๋ฐฐ์ด์์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ 0๋ฒ์งธ ์์ ์๋ ๊ฐ์ 'Java APT 507'์ด ๋๋ ๊ฒ์ด๊ณ , 1๋ฒ์งธ์ ๊ฐ์ด '10.0'์ด ๋๋ ๊ฒ์ด๋ค.
์ด ๊ฐ์์ ๊ฐ๋ค์ ๋ณ์ id์ bright์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ ๊ฒ์ด๊ณ ์คํํ๋ฉด ์๊น์ ํ์ ์ฐฝ์ด ๋จ์ง๋ ์์ง๋ง ์ ๋๋ก ๋ ๊ฐ์ด ๋์ค๊ฒ ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๋ํ ๋๋ฒ๊น ์ ํตํด์ ๊ฐ ๋ณ์์์ ๊ฐ๋ค์ด ์ ๋๋ก ๋ค์ด๊ฐ๋์ง ํ์ธํ ์ ์๋ค.
์ฐ๋ฆฌ๊ฐ ์ด๋ฅผ ํตํด์ ์ ์ ์๋๊ฑด ์ฝ๋์์ ์๋ args๋ ๋งค๊ฐ๋ณ์๋ก parameter๋ผ๊ณ ํ๋ฉฐ ์ฐ๋ฆฌ๊ฐ ์ค์ ๊ฐ์ ์ ๋ ฅํ๋ ๊ฐ๋ค์ arguments๋ผ๊ณ ํ๋ค.
2022-09-14 22:08:26.352 java[6576:583603] TSM AdjustCapsLockLEDForKeyTransitionHandling - _ISSetPhysicalKeyboardCapsLockLED Inhibit
๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ํ๋ก๊ทธ๋จ์ ์คํํ๋๋ฐ ์ด๋ฌํ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ํ์ธํ์๋ค.
์๋ ์ด๊ฒ ๋ญ์์ฌ... ์ด๊ฑฐ ํด๊ฒฐํ๋ค๊ณ ์์คํ 30๋ถ์ ๋ ๋ ธ๋ค...
๊ฒ์ํด๋ณด๋ ๋ณดํต ๋งฅ๋ถ์ ์ฌ์ฉํ๋ ์ฌ๋ํํ ๋ฐ์๋๋ ์๋ฌ์ธ๊ฒ ๊ฐ์๋ฐ ๋์ ๊ฐ์ ์๋ฌ๋ก ๊ณ ์ํ๋ ์ฌ๋๋ค์ 30๋ถ๋ ๋ฆฌ์ง ๋ง๊ณ ์ด์ฝํ์๊ธธ ๋ฐ๋๋ค!
1. command + space ํค๋ฅผ ๋๋ฅธ๋ค์ ํค๋ณด๋๋ฅผ ๊ฒ์ํด ์ ์ํ๋ค.
( + ์๋จ๋ฐ์ ์๋ ์ ํ๋งํฌ → ์์คํ ํ๊ฒฝ์ค์ → ํค๋ณด๋ ์์ผ๋ก ํด๋ฆญํด๋ ๊ฐ๋ฅ)
2. ์ ๋ ฅ์์ค ํด๋ฆญํ ํ๋จ์ ์๋ "ํ/A ํค๋ก ABC ์ ๋ ฅ ์์ค ์ ํ"์ด ์ฒดํฌ๊ฐ ๋์ด์๋ค๋ฉด ํด์ ํด์ค๋ค.
3. ์ฒดํฌ๊ฐ ํด์ ๋ ํ ํ/A๋ control + space๋ก ์ ํด์ ธ ์์ง๋ง ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ๋จ์ถํค์ ์ ์ํ ์ ์ ๋ ฅ์์ค๋ฅผ ๋๋ฅธ๋ค์์ "์ด์ ์ ๋ ฅ ์์ค ์ ํ"์์ ๋จ์ถํค๋ฅผ ์์๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋๋ค.
์ฐธ๊ณ )
'๊ฐ์ธ๊ณต๋ถ > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ํ์ฝ๋ฉ] JAVA1 - 12. ์ง์ ์ปดํ์ผํ๊ณ ์คํํ๊ธฐ2 (0) | 2022.09.15 |
---|---|
[์ํ์ฝ๋ฉ] JAVA1 - 12. ์ง์ ์ปดํ์ผํ๊ณ ์คํํ๊ธฐ1 (0) | 2022.09.15 |
[์ํ์ฝ๋ฉ] JAVA1 - 10. ๋๋ฒ๊ฑฐ (0) | 2022.09.13 |
[์ํ์ฝ๋ฉ] JAVA1 - 9. ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ฌด์์ธ๊ฐ? (0) | 2022.09.13 |
[์ํ์ฝ๋ฉ] JAVA1 - 8. ๋ณ์ (0) | 2022.09.09 |
๋๊ธ