Java main() ๋ฉ์๋๋ ๋ฌด์์ ๋๊น?
java main() ๋ฉ์๋๋ JVM(Java Virtual Machine)์ ์ด๊ธฐ ์ง์ ์ ๋๋ค. Java ํ๋ก๊ทธ๋จ์ ์คํ์ ์์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. main () ๋ฉ์๋๋ Java ํ๋ก๊ทธ๋จ ์คํ์ ํ์ ๋ถ๋ถ์ด๋ฏ๋ก Java ํ๋ก๊ทธ๋๋ฐ์ ์์ํ ๋ ๊ฐ์ฅ ๋จผ์ ๋ฐฐ์ฐ๊ฒ ๋ ๋ฉ์๋์ผ ๊ฒ์ ๋๋ค. ์ฃผ์ ๋ฉ์๋ ์ ์ผ๋ฐ์ ์ธ ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.public static void main(String[] args){
// some code here in the main() method
}
์
class NewYear {
public static void main(String... newyearargs) // main() method
{
System.out.println("Happy New Year 2023");
}
}
PS ์์ ์ ํ์๋ ๋๋ก ๊ธฐ๋ณธ ๋ฉ์๋ ๊ตฌ๋ฌธ ์ "args" ๋ถ๋ถ์ ๋ณ๊ฒฝ ํ๊ณ ์ด๋ฆ์ ์ง์ ์ง์ ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ๋ฉ์๋์ "String[]" ๋ถ๋ถ์ "Stringโฆ args"๋ก ์์ฑํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค .
main() ๋ฉ์๋ ์์ ์
main ํจ์๋ฅผ ์์ฑํ๊ธฐ ์ํ ์๋ช ๋ฐฉ๋ฒ์ ์ธ ๊ฐ์ง ์ฃผ์ ์์ ์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.๊ณต๊ณต์
์ด ์์ ์๋ ์ก์ธ์ค ์ง์ ์์ ์ด๋ฆ์ผ๋ก ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฆ์์ ์ ์๋ ๋๋ก ์ด ์์ ์๋ ํ๋ก๊ทธ๋จ ์คํ์ ์ํด JVM(Java Virtual Machine) ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํฉ๋๋ค. JVM์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ค๋ฉด JRE(Java Runtime Environment)๊ฐ ๋ฉ์๋์ ์ก์ธ์คํ๊ณ ์คํํ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ๋์ public์ ์ฌ์ฉํด์ผ ํฉ๋๋ค .์
public class NewYear{
//using main function
static void main(String... newyearargs){ // defining main() method here
System.out.println("Happy New Year");
}
}
๊ธฐ๋ณธ ๋ฉ์๋๊ฐ ๊ณต๊ฐ๋์ง ์๊ณ JRE๊ฐ ์ด๋ฅผ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ๊ณ ์คํํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค .
์ค๋ฅ: NewYear ํด๋์ค์์ ๊ธฐ๋ณธ ๋ฉ์๋๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. `main` ๋ฉ์๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ์ญ์์ค: public static void main(String[] args) ๋๋ JavaFX ์ ํ๋ฆฌ์ผ์ด์
ํด๋์ค๋ javafx.application.Application์ ํ์ฅํด์ผ ํฉ๋๋ค.
๊ณต์
Java ํ๋ก๊ทธ๋จ์ด ์์๋ ๋ ์กด์ฌํ๋ ํด๋์ค์ ๊ฐ์ฒด๊ฐ ์์ต๋๋ค. JVM ์ด ํด๋์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ ๋ค์ ๋จผ์ ํด๋์ค ์ธ์คํด์ค๋ฅผ ์์ฑํ์ง ์๊ณ ๊ธฐ๋ณธ ํจ์๋ฅผ ํธ์ถํ๋ ค๋ฉด ๊ธฐ๋ณธ ๋ฉ์๋๊ฐ ์ ์ ์ด์ด์ผ ํฉ๋๋ค .public class NewYear{
public void main(String... newyearargs){ // defining main() method here
System.out.println("Happy New Year");
}
}
๊ธฐ๋ณธ ๋ฉ์๋๊ฐ ์ ์ ์ด ์๋๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ๊ณ ์คํํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค .
์ฐ์ถ
์ค๋ฅ: NewYear ํด๋์ค์ Main ๋ฉ์๋๊ฐ ์ ์ ์ด ์๋๋๋ค. `main` ๋ฉ์๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ์ญ์์ค: public static void main(String[] args)
๋ฌดํจ์
๋ฐํ ์ ํ์ ๋ชจ๋ Java ํจ์์์ ์ ๊ณต๋์ด์ผ ํฉ๋๋ค. ์๋ฌด๊ฒ๋ ๋ฐํํ์ง ์๋ ๊ฒฝ์ฐ Java ๊ธฐ๋ณธ ํจ์ ๋ฐํ ์ ํ์ void ์ ๋๋ค . Java ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ ๋ฉ์๋๊ฐ ์๋ฃ๋๋ฉด ์ข ๋ฃ๋๋ฏ๋ก ๋ฐํ๋ ๊ฐ์ฒด๊ฐ ํ์ํ์ง ์์ต๋๋ค. ๋ค์ ์์ ์ฝ๋์ main ํจ์๋ ๋ฐํ ์ ํ์ด void์ธ ๊ฒฝ์ฐ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐํ ํ๋ ค๊ณ ์๋ ํฉ๋๋ค .public class NewYear{
public static void main(String... newyearargs){ // defining main() method here
return 0;
}
}
main ๋ฉ์๋๊ฐ void ์ด๊ณ ์๋ฌด๊ฒ๋ ๋ฐํํ์ง ์๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ๊ณ ์คํํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค .
์ฐ์ถ
NewYear.java:5: ์ค๋ฅ: ํธํ๋์ง ์๋ ์ ํ: ์์์น ๋ชปํ ๋ฐํ ๊ฐ์ 0์ ๋ฐํํฉ๋๋ค. ^ 1 ์ค๋ฅ
๊ธฐ๋ณธ
์ด๋ JVM์ ์ฌ์ ์ ์๋ ๊ธฐ๋ณธ ์๋ช ์ ๋๋ค. JVM์ ์ด ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ํ๋ก๊ทธ๋จ์ ํ ์ค์ฉ ์คํํ๊ณ ์ด ๋ฉ์๋๊ฐ ์๋ฃ๋ ํ ์คํ์ ์ข ๋ฃํฉ๋๋ค. main() ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๋ฒ ํธ์ถํ ์๋ ์์ต๋๋ค . ๋ค์์ ์ฃผ์ ๊ธฐ๋ฅ ์ ๊ทธ๋ฆผ์ ๋๋ค .public class NewYear{
public static void newMain(String... newyearargs){
System.out.println("Happy New Year");
}
}
main ๋ฉ์๋์ ์ด๋ฆ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ง์ ๋์ง ์์ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ๊ณ ์คํํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค .
์ฐ์ถ
์ค๋ฅ: NewYear ํด๋์ค์์ ๊ธฐ๋ณธ ๋ฉ์๋๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. `main` ๋ฉ์๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ์ญ์์ค: public static void main(String[] args) ๋๋ JavaFX ์ ํ๋ฆฌ์ผ์ด์
ํด๋์ค๋ javafx.application.Application์ ํ์ฅํด์ผ ํฉ๋๋ค.
๋ฌธ์์ด[] ์ธ์
Java์ ์ฃผ์ ํจ์ ๋ ๋จ์ผ ๋ฌธ์์ด ๋ฐฐ์ด์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ๋ฐฐ์ด์ ๋ฌธ์์ด์ ๋ช ๋ น์ค ์ธ์์ ๋๋ค. ๋ฐํ์ ์ ์ฌ์ฉ์๋ ๋ช ๋ น์ค ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ ์๋์ ์ํฅ์ ์ฃผ๊ฑฐ๋ ํ๋ก๊ทธ๋จ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค. ๋ค์ ์์์๋ ๋ช ๋ น์ค ์ธ์๋ฅผ ์ธ์ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.public class NewYear{
public static void main(String... newyearargs){ // main() function goes here
for(String s : newyearargs){
System.out.println(s);
}
}
}
๋ช ๊ฐ์ง ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ ๋ ์ธ์๊ฐ ์ฝ์์ ์ธ์๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ฐ์ถ
2 0 2 3 ์ํด ๋ณต ๋ง์ด ๋ฐ์ผ์ธ์