3. Java - ํŒจ๋Ÿฌ๋‹ค์ž„ / ํด๋ž˜์Šค(ํ•จ์ˆ˜)

2025. 3. 26. 22:40ใ†1%/Java

 

๐Ÿ“Œ [ ์ƒ์‹ ]

๐Ÿ’ก if else ๋ฌธ์€ ๋ฒ”์œ„๊ฐ€ ์ž‘์€ ๊ฒƒ๋ถ€ํ„ฐ ์‚ฌ์šฉ

๐Ÿ’ก ์ž๋ฐ”๋Š” ๊ฒฐ๊ณผ์ ์œผ๋กœ ByteCode๋ฅผ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜๋งŒ ์žˆ์œผ๋ฉด ๋ฌธ๋ฒ•์ด ์–ด๋–ป๋“  ๊ดœ์ฐฎ๋‹ค. ์ด๋Ÿฐ ์–ธ์–ด๋ฅผ JVM์–ธ์–ด๋ผ๊ณ  ํ•œ๋‹ค. 

์ค‘์š”ํ•œ ๊ฒƒ์€ ์ž๋ฐ”๋Š” ๋ฌธ๋ฒ•์ ์ธ ๋ถ€๋ถ„๋งŒ ํ•˜์ง€๋งŒ ๋ฒ„์ธ„์–ผ๋จธ์‹ ๊ธฐ๋ฐ˜์˜ ์–ธ์–ด๊ฐ€ ๋˜๊ธฐ์— ์ƒํƒœ๊ณ„๊ฐ€ ๋„“์€๊ฑฐ๋‹ค. 

์‚ฌ์‹ค, ์ด๊ฑด ์˜ค๋ผํด์ด ์†Œ์†ก์„ ๊ฑธ์—ˆ๊ธฐ์— ์ด๋ ‡๊ฒŒ ๋œ ๊ฒƒ

ex) ์ฝ”ํ‹€๋ฆฐ, ์Šค์นผ๋ผ, ๊ทธ๋ฃจ๋น„ ๋“ฑ

 


๐Ÿ“Œ [ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ]

๐Ÿ’ก ๋ฐ์ดํ„ฐ์™€ ๋กœ์ง์œผ๋กœ ๋‚˜๋‰œ๋‹ค.


๐Ÿ’ก ๋ฐ์ดํ„ฐ์™€ ๋กœ์ง์„ ์–ด๋–ป๊ฒŒ ๋ฐ”๋ผ๋ณด๋А๋ƒ๊ฐ€ ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋‹ค.
์˜ˆ) ํ•จ์ˆ˜ํ˜• ํŒจ๋Ÿฌ๋‹ค์ž„, ์•„์ŠคํŽ™ํŠธ ํŒจ๋Ÿฌ๋‹ค์ž„ ๋“ฑ

 

๐Ÿ’ก ํ•œ๊ตญ์ธ๊ณผ ์•„๋ž์ธ์˜ ์‹œ๊ฐ ์ฐจ์ด

  • ํ•œ๊ตญ์ธ์€ ์˜ค๋ฆฌ๊ฐ€ ๋จผ์ € ๋ณด์ธ๋‹ค
  • ์•„๋ž์ธ์€ ํ† ๋ผ๊ฐ€ ๋จผ์ € ๋ณด์ธ๋‹ค
    ๐Ÿ”น ์ด์œ : ํ•œ๊ตญ์€ ์™ผ์ชฝ ์ค‘์‹ฌ์˜ ์‚ฌํšŒ, ์•„๋ž์€ ์˜ค๋ฅธ์ชฝ ์ค‘์‹ฌ์˜ ์‚ฌํšŒ
    โžก ํŒจ๋Ÿฌ๋‹ค์ž„์€ ๊ด€์ ์˜ ์ฐจ์ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๐Ÿ’ก ์ž๋ณธ์ฃผ์˜ ์‚ฌํšŒ์—์„œ๋Š” ์‹œ๊ฐ„๋„ ๋ˆ
โžก ์ตœ์ €์‹œ๊ธ‰ ๊ฐœ๋…์ด ์กด์žฌ


๐Ÿ“Œ [ Java์˜ ํด๋ž˜์Šค๋ž€? ]

๐Ÿ’ก Java๋Š” ์–์‹คํ•œ(?) ์–ธ์–ด

  • ํ•จ์ˆ˜ํ˜• ํƒ€์ž…์ด ์•„๋‹ˆ๋ผ๋ฉด์„œ ํ•จ์ˆ˜ํ˜•์ฒ˜๋Ÿผ ๋งŒ๋“ค๊ณ ,
  • ๊ฐ์ฒด ์ง€ํ–ฅ์ด๋ผ๋ฉด์„œ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์‚ฌ์šฉ

๐Ÿ’ก ํ•จ์ˆ˜๋ž€? (ํ•จ์ˆ˜ํ˜• ํŒจ๋Ÿฌ๋‹ค์ž„)

  • ์ž…๋ ฅ๊ฐ’ โ†’ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋ฌผ
  • C์–ธ์–ด๋Š” ํ•จ์ˆ˜ํ˜• ์–ธ์–ด
    • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์ •ํ™•ํ•ด์•ผ ํ•˜๊ธฐ์— ๊ตฌ์กฐ์ฒด(struct) ์‚ฌ์šฉ
    • ๋กœ์ง์„ ํ•จ์ˆ˜๋กœ ๊ตฌ์„ฑ

 

๐Ÿ’ก C์–ธ์–ด์˜ ํ•œ๊ณ„ โ†’ Java์˜ ๋ฐฉ์‹

  • C์–ธ์–ด๋Š” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
    • ํ•ด๊ฒฐ์ฑ…: ๋ชจ๋‚˜๋“œ, ํด๋กœ์ € ํ™œ์šฉ
  • Java๋Š” ๊ตฌ์กฐ์ฒด๋„ ํ•จ์ˆ˜๋„ ๋ชจ๋‘ ํด๋ž˜์Šค
    • ์ฆ‰, ํด๋ž˜์Šค ์•ˆ์— ๋กœ์ง์„ ๋งŒ๋“ค์–ด ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์‚ฌ์šฉ

 

๐Ÿ’ก Java์˜ ์ž๋ฃŒํ˜•

  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜• (int, double ๋“ฑ)๋„ ์‚ฌ์‹ค์€ ํด๋ž˜์Šค
  • Java์—๋Š” ์ƒ์„ฑ์ž ํ•จ์ˆ˜ ์™ธ์—๋Š” "ํ•จ์ˆ˜"๊ฐ€ ์—†๋‹ค
    โžก ํ•จ์ˆ˜์ฒ˜๋Ÿผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํด๋ž˜์Šค๊ฐ€ ํ•„์š”
  • varํƒ€์ž…์€ JDK 10๋ฒ„์ „์— ๋“ฑ์žฅ = ๋ฌด์Šจ๋œป์ผ๊นŒ? ์ž๋ฐ”๋„ ์–ด๋А์ •๋„ ๋А์Šจํ•ด์ง€๊ธฐ ๋ฐ”๋ผ๋Š” ์–ธ์–ด์ด์ง€ ์•Š์„๊นŒ

 

 

๐Ÿ’ก Java์˜ ํ•จ์ˆ˜ํ˜• ์‚ฌ์šฉ๋ฒ•

  • ์ž…๋ ฅ๊ฐ’์ด ์žˆ๊ณ  ์ถœ๋ ฅ๊ฐ’์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • ์ž…๋ ฅ๋งŒ ํ•„์š”ํ•  ๋•Œ โ†’ void ์‚ฌ์šฉ
  • static์„ ๋ถ™์ด๋ฉด ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
//์‹์ด๊ธฐ ๋•Œ๋ฌธ์— ์†Œ๋น„๋ฅผ ํ•ด์•ผํ•œ๋‹ค.
//๊ทธ๋กœ ์ธํ•ด ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค.
num + 6;

//ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•œ ํƒ€์ž…์— ๋งž๊ฒŒ asign ๋œ๋‹ค.
//ํƒ€์ž…์ด๊ธฐ์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์ง€ ์•Š๋Š”๋‹ค.
return num + 6;

 

๐Ÿ’ก Return์€ '๋ฆฌํ„ด๊ฐ’'์ด ์•„๋‹ˆ๋ผ '๋ฆฌํ„ดํƒ€์ž…'
๐Ÿ”น return์€ ๊ฐ’์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํƒ€์ž…์„ ๊ฒฐ์ •

 
 
 

๐Ÿ’ก Java์˜ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐฉ์‹

  • C์–ธ์–ด: ๊ตฌ์กฐ์ฒด + ํ•จ์ˆ˜
  • Java: ํด๋ž˜์Šค ์•ˆ์— ๋ชจ๋“  ๊ฒƒ์„ ๋‹ด์Œ
  • Java์—์„œ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด? static ํ™œ์šฉ

 

๐Ÿ’ก Java๋Š” 2๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

  • ๋ฐ˜๋ณตํ•ด์„œ ๋งํ•˜์ง€๋งŒ Statement / Expression ์œผ๋กœ ๊ตฌ์„ฑ
  • Statement : ๊ตฌ์กฐ, ํ๋ฆ„์„ ๋งŒ๋“ ๋‹ค.
  • ์ด๋Ÿฐ ํƒ€์ž…์ด ๊ฐ•ํ•œ ์–ธ์–ด๋Š” ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๋•Œ์— {} ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ( ์ œ์–ด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ = ๊ตฌ์กฐ์ด๊ธฐ ๋•Œ๋ฌธ์— )
  • ( ํŒŒ์ด์ฌ์€ ๋“ค์—ฌ์“ฐ๊ธฐ ์ •๋„ )
  • Expression : ๊ฒฐ๊ณผ(๊ฐ’)๋ฅผ ๋งŒ๋“ ๋‹ค.
  • ๊ฐ’ : ๋‹ด๊ฑฐ๋‚˜, ์“ฐ๊ฑฐ๋‚˜ ( ๋Œ€๋ถ€๋ถ„์˜ ์—ฐ์‚ฐ์ž๊ฐ€ expression )
  • ++, -- ์€ ์˜ˆ์™ธ

 

 


๐Ÿ“Œ [ ์‚ฌ๊ณ ๋ฐฉ์‹ ]

๐Ÿ’ก ์ฝ”๋“œ ์ž‘์„ฑ ์ „, ํ•ญ์ƒ ์ƒ๊ฐํ•  ๊ฒƒ
โœ” ์ž…๋ ฅ, ๊ณ„์‚ฐ, ์ถœ๋ ฅ ๊ตฌ๋ถ„ํ•˜๊ธฐ

โœ” ํ๋ฆ„์„ ์งœ๊ณ , ๊ทธ ํ๋ฆ„์„ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜

 

๐Ÿš€ ์—„๊ฒฉํ•œ ๋งŒํผ ์—„๊ฒฉํ•œ ๊ฒƒ์— ์ต์ˆ™ํ•ด์ง€๋ฉด ๊ต‰์žฅํžˆ ํŽธ๋ฆฌํ•ด์ง„๋‹ค. 

๐Ÿš€ ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„๋Š” ์–ด๋””์„œ ์–ด๋””๊นŒ์ง€๋กœ ๋ด์•ผํ• ๊นŒ?

๐ŸŒŸ ๋ณดํ†ต ๊ฐ’์ด๋ผ๊ณ  ๋ณด๋Š”๋ฐ ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„๋Š” ์œ„์น˜(ํฌ์ธํ„ฐ) ๋ผ๊ณ  ์ƒ๊ฐํ•ด์•ผํ•œ๋‹ค. 

 

 

๐Ÿš€ ์„ธ์ƒ์—๋Š” ํƒ€์ž…์ด ์—†๋Š” ์–ธ์–ด๊ฐ€ ์žˆ์„๊นŒ?

๐ŸŒŸ ํŒŒ์ด์ฌ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ = ํƒ€์ž…์ด ์—†๋‹ค?  

๐ŸŒŸ ์•„๋‹ˆ ๋ชจ๋“  ์–ธ์–ด๋Š” ํƒ€์ž…์ด ์žˆ๋‹ค. ๋А์Šจํ•˜๊ฑฐ๋‚˜ ๊ฐ•ํ•˜๊ฑฐ๋‚˜ ํ•˜๊ธฐ์— ์—†๋‹ค๊ณ  ๋А๋‚„ ์ˆ˜ ์žˆ์ง€๋งŒ ํƒ€์ž…์ด ์กด์žฌํ•œ๋‹ค.