[Java ์ž…๋ฌธ] Java์˜ ๊ธฐ์ดˆ ์šฉ์–ด

2022. 6. 24. 00:30

Java์—์„œ ๋Š˜ ์“ฐ์ด๋Š” main ํ•จ์ˆ˜ ์„ค์ •๋ถ€ํ„ฐ ์ •๋ง ๊ธฐ์ดˆ ์ค‘์˜ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. Java ์ฒซ ๋ฐœ์ง์„ ๋–ผ๋Š” ์ž…๋ฌธ์ž๊ฐ€ ์•„๋‹ˆ๋ฉด ์ด ํฌ์ŠคํŒ…์€ ๋„˜์–ด๊ฐ€๋„ ๋ฌด๋ฐฉํ•˜๊ฒ ๋‹ค.

์•„๋ž˜ ํ™”๋ฉด์—์„œ ๋ณด์ด๋Š” ๊ฒƒ๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋œฏ์–ด๋ณด๋„๋ก ํ•˜์ž.

์šฐ์„  ๋งจ ์œ—์ค„์€ class๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์ด ๋•Œ public์ด๋ผ๋Š” ์ฝ”๋“œ๊ฐ€ ์“ฐ์—ฌ์žˆ๋Š”๋ฐ, ์ด๋Š” ๋‹ค์Œ ๋ฌธ์žฅ์„ ์‚ดํŽด๋ณด๋ฉฐ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.

 

public static void main(String[ ] args) {  }

1. public

์ œํ•œ์ž

ํ•จ์ˆ˜์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜๋Š” ์„ ์–ธ
 
๋ชจ๋“  ํ•จ์ˆ˜์˜ ์•ž์—๋Š” ์ด ํ•จ์ˆ˜๋ฅผ ์–ด๋””์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ œํ•œ์ž์˜ ์ข…๋ฅ˜๋กœ๋Š” public, private, protected๊ฐ€ ์žˆ๋‹ค.
 

 

โ—
mainํ•จ์ˆ˜๋Š” ๋ชจ๋“  ์‹คํ–‰ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ์ด ๋˜๋Š” ํ•จ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์—, ์–ด๋””์„œ๋‚˜ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค ๐Ÿ‘‰๐Ÿป public
  • public : ์–ด๋””์—์„œ๋‚˜ ํ•จ์ˆ˜์— ์ ‘๊ทผ ๊ฐ€๋Šฅ
  • private : ํ•ด๋‹น ํด๋ž˜์Šค ๋‚ด์—์„œ ํ•จ์ˆ˜์— ์ ‘๊ทผ ๊ฐ€๋Šฅ
  • protected : ํ•ด๋‹น ํด๋ž˜์Šค์™€ ์ƒ์†๋œ ํด๋ž˜์Šค์—์„œ๋งŒ ํ•จ์ˆ˜์— ์ ‘๊ทผ ๊ฐ€๋Šฅ

 

2. static

๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ๋ฒ•

Java์—์„œ๋Š” ๋ณ€์ˆ˜ ํ˜น์€  ํ•จ์ˆ˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹นํ•˜๋Š”๋ฐ, ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณต๊ฐ„์€ ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ์„ธ ์˜์—ญ์€ Static area, Stack area, Heap area ์˜์—ญ์ด๋‹ค.

๋”ฐ๋ผ์„œ ํ•จ์ˆ˜๋ฅผ static์œผ๋กœ ํ• ๋‹นํ•˜๋ฉด ํ•จ์ˆ˜๋Š” static area์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฒŒ ๋œ๋‹ค. static area์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ์ข…๋ฃŒ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•œ๋‹ค. (Java์˜ static, stack, heap  ๋“ฑ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์ดํ›„ ํฌ์ŠคํŒ…์—์„œ ๋”ฐ๋กœ ์ž์„ธํžˆ ๋‹ค๋ฃจ๋„๋ก ํ•œ๋‹ค.)

 

โ—
main ํ•จ์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜์–ด์žˆ๋Š” ํ•œ ๋ฉ”๋ชจ๋ฆฌ์— ํ•ญ์ƒ ์ƒ์ฃผํ•ด์•ผ ํ•œ๋‹ค ๐Ÿ‘‰๐Ÿป static

 

3. void

void๋Š” ํ•จ์ˆ˜๊ฐ€ ๋๋‚  ๋•Œ ๋ฆฌํ„ด๊ฐ’์ด ์—†๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

โ“
์ด ๋•Œ, ์ผ๋ฐ˜ํ•จ์ˆ˜๋Š” void๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋˜๊ณ ,  intchar ๋“ฑ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐํƒ€์ž…์„ ์‚ฌ์šฉํ•ด๋„ ๋ฌธ์ œ ์—†์ด ์ž‘๋™ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์™œ main ํ•จ์ˆ˜๋Š” ๋ฌด์กฐ๊ฑด void๋งŒ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

    ๊ทธ ์ด์œ ๋Š”, ๊ณ„์† ์–ธ๊ธ‰๋˜์—ˆ๋“ฏ main ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ”๋กœ ์ข…๋ฃŒ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ mainํ•จ์ˆ˜๋Š” ๋ฆฌํ„ด๊ฐ’์„ ๊ฐ€์ง€๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉฐ, ์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ๋งŒ์•ฝ mainํ•จ์ˆ˜์—์„œ void ๋Œ€์‹  ๋‹ค๋ฅธ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

3. main

 Java์˜ ์‹œ์ž‘์€ ๋Š˜ mainํ•จ์ˆ˜๋กœ ์‹œ์ž‘ํ•œ๋‹ค.

 

4. String[]+ args

args ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

  • args : ๋ณ€์ˆ˜๋ช…
    • ๊ผญ ๋ณ€์ˆ˜๋ช…์„ ์ด๊ฒƒ์œผ๋กœ ์ ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‚˜, ๋ณดํ†ต ๊ธฐ๋ณธ์œผ๋กœ args๋ผ๊ณ  ์‚ฌ์šฉํ•œ๋‹ค.
    • ์ด "๋ฌธ์ž์—ด ๋ฐฐ์—ด"์€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์‹œ์— ์ฃผ์–ด์ง„ "์˜ต์…˜"๋“ค์ด ์ž๋™์œผ๋กœ ๋‹ด๊ฒจ์ง€๋Š” ๊ณณ์ด๋‹ค.
    • Arguments ๋ฅผ ์ค„์ธ ๋ง์œผ๋กœ, "์ธ์ˆ˜" = "๋งค๊ฐœ ๋ณ€์ˆ˜" = "ํŒŒ๋ผ๋ฏธํ„ฐ" ๋ผ๋Š” ๋œป์ด๋‹ค.

 

๊ทธ ์™ธ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•

system.out.println();

Java์˜ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ํด๋ž˜์Šค
  • Java์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ์ฒด๋กœ ํ‘œํ˜„๋˜๋ฏ€๋กœ, ์ž…์ถœ๋ ฅ์„ ๋‹ด๋‹นํ•˜๋Š” ์ˆ˜๋‹จ ๋˜ํ•œ ๋ชจ๋‘ ๊ฐ์ฒด์ด๋‹ค.
  • Java์—์„œ๋Š” System์ด๋ผ๋Š” ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜์—ฌ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค.
๐Ÿ’ก
๊ฟ€ํŒ : sout ํ˜น์€ sysout์ด๋ผ๊ณ  ์นœ ํ›„ ctrl + space

 

//

Java์˜ ์ฃผ์„์ฒ˜๋ฆฌ

 

 


์ฐธ๊ณ  ์‚ฌ์ดํŠธ

BELATED ARTICLES

more