๐Ÿ’ป JAVA_

JAVA#12 _ ํ•จ์ˆ˜

Joyfullyever 2025. 1. 7. 19:33

#1 ํ•จ์ˆ˜๋ž€?

์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ํ•˜๋‚˜์˜ ์ฝ”๋“œ ๋ธ”๋Ÿญ

์ž์‹ ์˜ ์™ธ๋ถ€ ์ฝ”๋“œ๊ฐ€ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” 'ํ•˜์œ„ ํ”„๋กœ๊ทธ๋žจ'

#1-1 ํ•จ์ˆ˜ ๋ธ”๋Ÿญ ๊ตฌ๋ถ„

ํ•จ์ˆ˜๋ผ๋ฆฌ๋Š” {} ๋ธ”๋Ÿญ ์ฝ”๋“œ๊ฐ€ ๊ฒน์น˜์ง€ ์•Š์Œ

 

#2 ํ•จ์ˆ˜์˜ 3์š”์†Œ

= ๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ณ

1. input (= ์ž…๋ ฅ๊ฐ’, ์ธ์ž, ์ธ์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ํŒŒ๋ผ๋ฏธํ„ฐ, args)

2. output (= ์ถœ๋ ฅ๊ฐ’, ๊ฒฐ๊ณผ๊ฐ’, return, ๋ฆฌํ„ด๊ฐ’, ๋ฐ˜ํ™˜๊ฐ’)

3. ๊ธฐ๋Šฅ → ํ•จ์ˆ˜๋ช… → ์•ˆ์— ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ง€์ •ํ•ด์•ผํ•จ

 

#3 ์œ ์ง€๋ณด์ˆ˜

"์œ ์ง€๋ณด์ˆ˜์— ๋ถˆ๋ฆฌํ•˜๋‹ค." → Why? ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์—ฌ๊ธฐ์ €๊ธฐ ์ค‘๋ณต๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ.

โคท ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋Š”๊ฒŒ ๊ฐ€์žฅ ๊ถ๊ทน์ ์ธ ๋ชฉํ‘œ → How? "ํ•จ์ˆ˜ํ™”(=๋ชจ๋“ˆํ™”, ์ปดํฌ๋„ŒํŠธํ™”, ๊ณ ๋„ํ™”, ์„ฑ๋Šฅ์ตœ์ ํ™”,ใƒปใƒปใƒป)

 

#4 ์œ ์ง€๋ณด์ˆ˜์— ์šฉ์ดํ•˜๋ ค๋ฉด!

1. ์ค‘๋ณต์ด ์—†๋Š” ์ฝ”๋“œ

2. ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์šฉ์ด

3. ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ๋‹จ์ถ•

4. ๊ฐœ๋ฐœ ๋น„์šฉ์„ ์ ˆ๊ฐ

5. ์˜ค๋ฅ˜์˜ ํŒŒ๊ธ‰ํšจ๊ณผ๊ฐ€ ์ค„์–ด๋“ฌ

 

#5 ํ•จ์ˆ˜ํ™”์˜ ์žฅ์ 

1. ๋ณ‘๋ ฌ์ฝ”๋”ฉ์ด ๊ฐ€๋Šฅ : ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ฝ”๋”ฉ๊ณผ ๋‚ด๊ฐ€ ์ฝ”๋”ฉ์„ ํ•˜๋Š” ๊ฒƒ์ด ๊ด€๊ณ„ ์—†์Œ

2. ์‚ฌ์šฉ์ž์˜ ํŽธ๋ฆฌ์„ฑ ์ฆ๊ฐ€ : ๊ฐ€์šฉ์„ฑ์ด ์ฆ๊ฐ€

 

#6 ํ•จ์ˆ˜์˜ ์œ ํ˜•

์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋ถ„๋ฅ˜ํ•œ ์˜ˆ์ œ

์œ ํ˜•1 ์œ ํ˜•2 ์œ ํ˜•3 ์œ ํ˜•4
input X input O input X input O
output X output X output O output O

 

โ˜… ์ฝ”๋”ฉ์„ ํ•  ๋•Œ์—๋Š” ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ์ข‹๊ธฐ ๋•Œ๋ฌธ์—, ๋‚ฎ์ถœ ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜์ž! โ˜