Coding Planet

[Java] λ©”μ„œλ“œμ™€ ν•¨μˆ˜μ˜ μ°¨μ΄λŠ”? λ³Έλ¬Έ

πŸ’» Java Study/Java 이둠 정리

[Java] λ©”μ„œλ“œμ™€ ν•¨μˆ˜μ˜ μ°¨μ΄λŠ”?

jhj.sharon 2024. 3. 4. 09:52
λ°˜μ‘ν˜•

 | μžλ°”μ˜ 정석(남ꢁ μ„± μ €μž) 발췌

μ „ν†΅μ μœΌλ‘œ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν•¨μˆ˜λΌλŠ” 이름은 μˆ˜ν•™μ—μ„œ λ”°μ˜¨ κ²ƒμž…λ‹ˆλ‹€. μˆ˜ν•™μ˜ ν•¨μˆ˜μ™€ κ°œλ…μ΄ μœ μ‚¬ν•˜κΈ° λ•Œλ¬Έμ΄μ£ . κ·ΈλŸ¬λ‚˜ 객체지ν–₯κ°œλ…μ—μ„œλŠ” ν•¨μˆ˜(function)λŒ€μ‹  객체의 ν–‰μœ„λ‚˜ λ™μž‘μ„ μ˜λ―Έν•˜λŠ” λ©”μ„œλ“œ(method)λΌλŠ” μš©μ–΄λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. λ©”μ„œλ“œλŠ” ν•¨μˆ˜μ™€ 같은 μ˜λ―Έμ΄μ§€λ§Œ, νŠΉμ • ν΄λž˜μŠ€μ— λ°˜λ“œμ‹œ 속해야 ν•œλ‹€λŠ” μ œμ•½μ΄ 있기 λ•Œλ¬Έμ— 기쑴의 ν•¨μˆ˜μ™€ 같은 의미의 λ‹€λ₯Έ μš©μ–΄λ₯Ό μ„ νƒν•΄μ„œ μ‚¬μš©ν•œ κ²ƒμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이제 λžŒλ‹€μ‹μ—μ„œλŠ” λ©”μ„œλ“œκ°€ ν•˜λ‚˜μ˜ 독립적인 κΈ°λŠ₯을 ν•˜κΈ°λ•Œλ¬Έμ— ν•¨μˆ˜λΌλŠ” μš©μ–΄λ₯Ό μ‚¬μš©ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€.

 

 

 

 | 컴퓨터 μ–Έμ–΄ λ‚΄μ—μ„œ λ©”μ„œλ“œμ™€ ν•¨μˆ˜μ˜ 차이

컴퓨터 ν”„λ‘œκ·Έλž˜λ°μ—μ„œ "λ©”μ„œλ“œ(method)"와 "ν•¨μˆ˜(function)" μš©μ–΄λŠ” μ’…μ’… ν˜Όμš©λ˜μ§€λ§Œ, κ·Έλ“€ μ‚¬μ΄μ—λŠ” λͺ…ν™•ν•œ 차이점이 μžˆλ‹€. 이 차이점은 주둜 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°κ³Ό 절차적 ν”„λ‘œκ·Έλž˜λ°μ˜ μ»¨ν…μŠ€νŠΈμ—μ„œ 이해될 수 μžˆλ‹€.

 

 

1. ν•¨μˆ˜(Function)

  • ν•¨μˆ˜λŠ” ν”„λ‘œκ·Έλž˜λ°μ˜ 기본적인 ꡬ성 μš”μ†Œλ‘œ, μž…λ ₯(인자, λ§€κ°œλ³€μˆ˜)을 λ°›μ•„μ„œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜κ³ , κ²°κ³Όλ₯Ό 좜λ ₯(λ°˜ν™˜κ°’)으둜 λ‚΄λ³΄λ‚΄λŠ” 독립적인 μ½”λ“œ 블둝이닀.
  • ν•¨μˆ˜λŠ” 절차적 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ 자주 μ‚¬μš©λœλ‹€. 예λ₯Ό λ“€μ–΄, C μ–Έμ–΄λŠ” ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ ν”„λ‘œκ·Έλž¨μ„ κ΅¬μ„±ν•œλ‹€.
  • ν•¨μˆ˜λŠ” 보톡 μ–΄λ–€ ν΄λž˜μŠ€μ— μ†ν•˜μ§€ μ•Šκ³ , μ „μ—­μ μœΌλ‘œ μ •μ˜λ˜κ±°λ‚˜ λ‹€λ₯Έ ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ μ •μ˜λ  수 μžˆλ‹€.

2. λ©”μ„œλ“œ(Method)

  • λ©”μ„œλ“œλŠ” 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ μ‚¬μš©λ˜λŠ” κ°œλ…μœΌλ‘œ, νŠΉμ • 객체에 μ†ν•œ ν•¨μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€.
  • λ©”μ„œλ“œλŠ” 클래슀의 μΌλΆ€λ‘œ μ •μ˜λ˜λ©°, ν•΄λ‹Ή 클래슀의 객체(μΈμŠ€ν„΄μŠ€)λ₯Ό ν†΅ν•΄μ„œλ§Œ 호좜될 수 μžˆλ‹€. μ΄λŠ” λ©”μ„œλ“œκ°€ ν•΄λ‹Ή 객체의 μƒνƒœ(속성)에 μ ‘κ·Όν•˜κ³ , 객체의 행동을 μ •μ˜ν•œλ‹€λŠ” μ˜λ―Έμ΄λ‹€.
  • λ©”μ„œλ“œλŠ” ν˜ΈμΆœλ˜λŠ” 객체에 따라 λ™μž‘μ΄ λ‹¬λΌμ§ˆ 수 있으며, 객체의 μƒνƒœλ₯Ό λ³€κ²½ν•˜κ±°λ‚˜ κ°μ²΄λ‘œλΆ€ν„° 정보λ₯Ό κ°€μ Έμ˜¬ 수 μžˆλ‹€.

3. κ²°λ‘ 

  • 기본적으둜, λͺ¨λ“  λ©”μ„œλ“œλŠ” ν•¨μˆ˜μ΄μ§€λ§Œ, λͺ¨λ“  ν•¨μˆ˜κ°€ λ©”μ„œλ“œλŠ” μ•„λ‹ˆλ‹€. ν•¨μˆ˜λŠ” 독립적인 κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” μ½”λ“œ 블둝이며, λ©”μ„œλ“œλŠ” 객체의 행동을 μ •μ˜ν•˜λŠ” 클래슀 λ‚΄μ˜ ν•¨μˆ˜λ‘œ, νŠΉμ • 객체에 μ†ν•œλ‹€.
  • ν•¨μˆ˜λŠ” 절차적 ν”„λ‘œκ·Έλž˜λ°μ—μ„œμ˜ ꡬ성 μš”μ†Œμ΄λ©°, λ©”μ„œλ“œλŠ” 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν΄λž˜μŠ€μ™€ 객체의 행동을 μ •μ˜ν•œλ‹€.

 

λ°˜μ‘ν˜•
Comments