CodeGym/Java Blog/๋ฌด์ž‘์œ„์˜/์ž๋ฐ” main() ๋ฉ”์†Œ๋“œ
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

์ž๋ฐ” main() ๋ฉ”์†Œ๋“œ

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
ํšŒ์›

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 ์ƒˆํ•ด ๋ณต ๋งŽ์ด ๋ฐ›์œผ์„ธ์š”

๊ฒฐ๋ก 

์ด๋ฒˆ ๊ธ€์€ ์ž๋ฐ”์˜ ์ฃผ์š” ๊ธฐ๋Šฅ/๋ฉ”์„œ๋“œ์— ๊ด€ํ•œ ๊ธ€์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” main() ๋ฉ”์†Œ๋“œ ์˜ ๊ธฐ๋ณธ ์‚ฌํ•ญ ๋Œ€๋ถ€๋ถ„์„ ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค .
์ฝ”๋ฉ˜ํŠธ
  • ์ธ๊ธฐ
  • ์‹ ๊ทœ
  • ์ด์ „
์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธฐ๋ ค๋ฉด ๋กœ๊ทธ์ธ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
์ด ํŽ˜์ด์ง€์—๋Š” ์•„์ง ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค