Bibi's DevLog πŸ€“πŸŽ

[Java] μ΄ˆκΈ°ν™”μ™€ μƒμ„±μž λ³Έλ¬Έ

πŸ–₯ BE λ°±μ—”λ“œ/Java μžλ°”

[Java] μ΄ˆκΈ°ν™”μ™€ μƒμ„±μž

λΉ„λΉ„ bibi 2020. 11. 5. 20:44

μƒν™œμ½”λ”© JAVA의 'μ΄ˆκΈ°ν™”μ™€ μƒμ„±μž' λ‚΄μš©μ„ 읽고 μš”μ•½ν•œ κΈ€μž…λ‹ˆλ‹€.

- μœ νš¨λ²”μœ„ = μŠ€μ½”ν”„ scope. (읽기만 함)
opentutorials.org/course/1223/5447

-μ΄ˆκΈ°ν™”μ™€ μƒμ„±μž
opentutorials.org/course/1223/5519

  • 'μ΄ˆκΈ°ν™”'의 의미 = μ–΄λ–€ 일을 μ‹œμž‘ν•˜κΈ° μ „ μ€€λΉ„? 객체λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ μ€€λΉ„.
    • 객체지ν–₯ν”„λ‘œκ·Έλž˜λ°μ—μ„œ 'μ΄ˆκΈ°ν™”'에 ν•΄λ‹Ήν•˜λŠ” 것이 'μƒμ„±μž'이닀.
  • μƒμ„±μž constructor
    • μƒμ„±μžλŠ” μ΄λ¦„μ²˜λŸΌ "객체λ₯Ό 생성"ν•  λ•Œ ν˜ΈμΆœλœλ‹€.
    • μƒμ„±μžμ˜ νŠΉμ§•
      • 1. 값을 λ°˜ν™˜ν•˜μ§€ μ•ŠλŠ”λ‹€. (리턴값이 μ—†λ‹€)
        μƒμ„±μžλŠ” μΈμŠ€ν„΄μŠ€λ₯Ό 생성해 μ£ΌλŠ” 역할을 ν•˜λŠ” νŠΉμˆ˜ν•œ λ©”μ†Œλ“œ. 
        그런데 리턴값이 μžˆλ‹€λ©΄ μ—‰λš±ν•œ 객체가 생성될 것이닀.
        μƒμ„±μžλŠ” 리턴값이 μ—†κΈ° λ•Œλ¬Έμ— return;도 μ‚¬μš©ν•˜μ§€ μ•Šκ³ , λ¦¬ν„΄νƒ€μž…μ„ λ©”μ†Œλ“œ μ •μ˜μ— ν¬ν•¨μ‹œν‚€μ§€λ„ μ•ŠλŠ”λ‹€.
        또, 리턴값을 ν•„μš”λ‘œ ν•˜λŠ” μž‘μ—…μ—μ„œλŠ” μƒμ„±μžλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
      • 2. μƒμ„±μžμ˜ 이름 == 클래슀의 이름.
        μžλ°”μ—μ„œ, ν΄λž˜μŠ€μ˜ 이름과 λ™μΌν•œ λ©”μ†Œλ“œλŠ” μƒμ„±μžλ‘œ μ‚¬μš©ν•˜κΈ°λ‘œ μ•½μ†λ˜μ–΄ μžˆλ‹€.
  • μƒμ„±μžλ₯Ό μ“°λŠ” 이유 : μ •ν•΄μ§„ ν˜•μ‹μ— λ§žμΆ”μ–΄ 객체λ₯Ό νŽΈλ¦¬ν•˜κ²Œ μƒμ„±ν•˜κΈ° μœ„ν•΄.
    • (예λ₯Ό λ“€μ–΄ μ–΄λ–€ 객체λ₯Ό λ§Œλ“€ λ•ŒλŠ” λ°˜λ“œμ‹œ A, B 값이 μžˆμ–΄μ•Ό ν•œλ‹€λ©΄,
      μƒμ„±μžμ—μ„œ A,Bλ₯Ό μž…λ ₯ν•΄μ•Όλ§Œ 객체가 μƒμ„±λ˜λ„λ‘ κ°•μ œν•  수 μžˆλ‹€.)
  • μƒμ„±μžμ˜ ν˜•νƒœμ™€ 호좜 (μ•„λž˜μ™€ κ°™λ‹€)
    • μƒμ„±μžλŠ” 클래슀 이름과 λ™μΌν•œ μ΄λ¦„μ˜ λ©”μ†Œλ“œ ν˜•νƒœλ₯Ό κ°–λŠ”λ‹€.
    • μƒμ„±μžλ₯Ό ν˜ΈμΆœν•  λ•ŒλŠ” new μƒμ„±μžμ΄λ¦„(); μœΌλ‘œ ν˜ΈμΆœν•œλ‹€.
// μƒμ„±μžμ˜ ν˜•νƒœ : 클래슀의 이름과 λ™μΌν•œ 이름을 κ°€μ§€λŠ” λ©”μ†Œλ“œ ν˜•νƒœμ΄λ‹€.
public Calculator (int left, int right) {
	// codes..
}

// μƒμ„±μž 호좜
Calculator c1 = new Calculator(10, 20);