πŸ“œ MENTOR JAVA_

Section#8 _ λ©”μ„œλ“œ

CodeLoge 2025. 1. 15. 19:31

#1 λ©”μ„œλ“œλž€?

: 클래슀 μ•ˆμ—μ„œ νŠΉμ • κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ μ½”λ“œλ“€μ„ λ”°λ‘œ ν•˜λ‚˜μ˜ λΈ”λ‘μœΌλ‘œ λ¬Άμ–΄ 놓은 μ§‘ν•©, ν•„μš”μ— 따라 이 집합을 ν˜ΈμΆœν•΄ μ‚¬μš© κ°€λŠ₯

: λ©”μ„œλ“œλ₯Ό κ΅¬ν˜„ν•¨μœΌλ‘œμ¨, 같은 λ‚΄μš©μ˜ μ½”λ“œλ₯Ό 반볡적으둜 μ‚¬μš©ν•˜λŠ” 것을 ν”Όν•  수 있음

→ λ©”μ„œλ“œλ₯Ό ν•„μš”ν•  λ•Œ λ§ˆλ‹€ μž¬μ‚¬μš©μ΄ κ°€λŠ₯, μ€‘λ³΅λœ μ½”λ“œλ₯Ό μ œκ±°ν•  수 있음

: μ½”λ“œλ“€μ˜ 집합을 λ”°λ‘œ λΆ„λ¦¬ν•˜λŠ” 것을 "λͺ¨λ“ˆν™”" 라고 함 → μ½”λ“œλ₯Ό 읽을 λ•Œ 가독성이 μ’‹μœΌλ©°, ν”„λ‘œκ·Έλž¨μ„ μˆ˜μ •ν•  λ•Œ λ”μš± λΉ λ₯΄κ³  μ‰½κ²Œ κ°€λŠ₯

 

#1-1 λ©”μ„œλ“œ μ„ μ–Έ

선언뢀와 μ‹€ν–‰ μ˜μ—­μœΌλ‘œ ꡬ성

μ ‘κ·Ό μ œν•œμž λ°˜ν™˜νƒ€μž… λ©”μ„œλ“œ 이름 ()

// κΈ°λŠ₯을 μˆ˜ν–‰ν•  μ½”λ“œ

 

}

- μ ‘κ·Ό μ œν•œμž : λ³€μˆ˜μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ ν•΄λ‹Ή λ©”μ„œλ“œμ— μ ‘κ·Όν•  수 μžˆλŠ” λ²”μœ„ κ²°μ •

- λ°˜ν™˜ νƒ€μž… : 블둝 μ•ˆμ— μžˆλŠ” μ½”λ“œλ“€μ„ μ‹€ν–‰ν•œ ν›„ 결과값을 λ°˜ν™˜ → μ–΄λ–€ νƒ€μž…μœΌλ‘œ λ°˜ν™˜ν•  것인지 νƒ€μž…μ„ 미리 μ •ν•΄μ€Œ (λ°˜ν™˜ 값이 없을 경우 void)

- λ©”μ„œλ“œ 이름 : λ³€μˆ˜μ²˜λŸΌ 이름을 κ°€μ§€κ³  ν˜ΈμΆœν•  λ•Œ μ‚¬μš©

 

μ ‘κ·Όμ œν•œμž~() : μ„ μ–ΈλΆ€

{} : μ‹€ν–‰ μ˜μ—­

 

#1-2 λ©”μ„œλ“œ 호좜

// λ©”μ„œλ“œ 호좜 방법

λ©”μ„œλ“œκ°€ μžˆλŠ” 클래슀 μ°Έμ‘° λ³€μˆ˜ = new 클래슀 ();
μ°Έμ‘°λ³€μˆ˜.λ©”μ„œλ“œ 이름();

Book b = new Book();
b.read();

 

#2 λ§€κ°œλ³€μˆ˜μ™€ return

#2-1 λ§€κ°œλ³€μˆ˜

: νŠΉμ • κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ λ©”μ„œλ“œλŠ” κΈ°λŠ₯을 μˆ˜ν–‰ν•  λ•Œ μ‚¬μš©ν•  인수λ₯Ό 받을 수 있음  λ§€κ°œλ³€μˆ˜

μ ‘κ·Ό μ œν•œμž λ°˜ν™˜νƒ€μž… λ©”μ„œλ“œ 이름 (μžλ£Œν˜• λ³€μˆ˜λͺ…) {

// κΈ°λŠ₯을 μˆ˜ν–‰ν•  μ½”λ“œ

 

 

}

λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•  λ•Œ 같이 μ „λ‹¬λ°›λŠ” λ³€μˆ˜λ₯Ό λ©”μ„œλ“œ μ•ˆμ—μ„œ μ‚¬μš©ν•  μ§€μ—­λ³€μˆ˜μ— λ‹΄λŠ” 것

 

#2-2 return

: ν•„μš”μ— 따라 λ©”μ„œλ“œλ‘œλΆ€ν„° μ‹€ν–‰ν•œ 결과값을 되돌렀 λ°›λŠ” 것 → 리턴값(return value)

: λ©”μ„œλ“œκ°€ λ°˜ν™˜ν•  값이 μžˆλ‹€λ©΄ λ°˜λ“œμ‹œ return ꡬ문을 ν†΅ν•΄μ„œ 결과값을 λ°˜ν™˜ν•΄μ£Όκ³  λ©”μ„œλ“œλ₯Ό μ’…λ£Œ → μ—†λ‹€λ©΄ 컴파일 μ—λŸ¬ λ°œμƒ

: 결과값을 μ €μž₯ν•  λ³€μˆ˜μ˜ μžλ£Œν˜•μ€ κ²°κ³Όκ°’μ˜ μžλ£Œν˜•κ³Ό λ™μΌν•˜κ±°λ‚˜ μžλ™ ν˜• λ³€ν™˜μ΄ 될 수 μžˆλŠ” μžλ£Œν˜•μ΄μ–΄μ•Ό 함

: return 문은 κ²°κ³Όκ°’ λ°˜ν™˜κ³Ό λ™μ‹œμ— λ©”μ„œλ“œλ₯Ό μ’…λ£Œμ‹œν‚€λŠ” ꡬ문. return λ¬Έ 뒀에 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ 컴파일 μ—λŸ¬κ°€ λ°œμƒ

 

#3 getter & setter λ©”μ„œλ“œ

: 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°μ—μ„œλŠ”  λ©”μ„œλ“œλ₯Ό 톡해 ν•„λ“œμ˜ 값을 뢈러였고, ν•„λ“œμ˜ 값을 λ³€κ²½ν•˜λŠ” 방법을 이용 → ν•„λ“œλ₯Ό μ‚¬μš©ν•˜λ €λ©΄ λ©”μ„œλ“œλ₯Ό μ΄μš©ν•˜λ„λ‘

- μž₯점

1) ν•„λ“œ 보호 κ°€λŠ₯

2) λ©”μ„œλ“œμ—μ„œ ν•„λ“œμ— λ“€μ–΄κ°ˆ 값을 κ²€μ¦ν•œ ν›„ ν•„λ“œμ— λŒ€μž…

3) μ™ΈλΆ€μ—μ„œ μ‚¬μš©ν•  ν•„λ“œμ˜ 값을 μ •μ œν•œ ν›„ 값을 μ œκ³΅ν•  수 있음

 

#3-1 setter λ©”μ„œλ“œ

: ν•„λ“œμ— 값을 μ €μž₯ν•˜κΈ° 전에 검증을 λ¨Όμ € ν•  수 있음

: ν•„λ“œμ˜ 값을 객체 μ™ΈλΆ€μ—μ„œ 직접 λ„£μ§€ λͺ»ν•˜λ„둝 ν•„λ“œμ— 접근을 μ œν•œ

: private μ ‘κ·Ό μ œν•œμž

정리 : private ν•„λ“œμ˜ 값을 λŒ€μž…ν•˜λŠ” 방법

 

#3-2 getter λ©”μ„œλ“œ

: private ν•„λ“œλ₯Ό 객체 μ™ΈλΆ€μ—μ„œ 값을 뢈러였기 μœ„ν•΄ κ΅¬ν˜„ν•˜λŠ” λ©”μ„œλ“œ

: private ν•„λ“œλŠ” 객체 외뢀에선 μ ‘κ·Ό λΆˆκ°€λŠ₯, ν•„λ“œκ°€ μ„ μ–Έλœ ν΄λž˜μŠ€μ—μ„œλŠ” μ–΄λ””μ„œλ“  μ ‘κ·Ό κ°€λŠ₯ → λ©”μ„œλ“œλ₯Ό ν†΅ν•΄μ„œ 값을 전달 κ°€λŠ₯

정리 : 객체 μ™ΈλΆ€μ—μ„œ private ν•„λ“œμ˜ 값을 κ΅¬ν•˜κΈ° μœ„ν•΄ getter λ©”μ„œλ“œ μ‚¬μš©

'πŸ“œ MENTOR JAVA_' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Section#10 _ 상속  (0) 2025.01.17
Section#9 _ μƒμ„±μž  (0) 2025.01.16
Section#7 _ 클래슀  (1) 2025.01.14
Section#6 _ λ°°μ—΄ []  (0) 2025.01.07
Section#5 _ μ œμ–΄λ¬Έ-2  (0) 2025.01.06