TIL

01/05(금) 내일배움캠프 Java 10일차 TIL - μ˜€λ²„λ‘œλ”©, μ˜€λ²„λΌμ΄λ”©

감자개발꾼 2024. 1. 5. 23:15

 

 

πŸ“–  μ˜€λŠ˜μ˜ ν•™μŠ΅ ν‚€μ›Œλ“œ

  • μ˜€λ²„λ‘œλ”©
  • μ˜€λ²„λΌμ΄λ”©

 

πŸ₯”  두 수의 λ‚˜λˆ—μ…ˆ

μ •μˆ˜ num1κ³Ό num2κ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ,
num1을 num2둜 λ‚˜λˆˆ 값에 1,000을 κ³±ν•œ ν›„ μ •μˆ˜ 뢀뢄을 return ν•˜λ„λ‘ soltuion ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄ μ£Όμ„Έμš”.

 

 

 

μž…μΆœλ ₯ 예
num1 num2 result
3 2 1500
7 3 2333
1 6 62

 

 

✏️  문제 ν•΄κ²° κ³Όμ •

κ°„λ‹¨ν•œ 문제둜 λ³΄μ˜€μ§€λ§Œ, ν˜•λ³€ν™˜μ„ ν•˜λŠ” 문법적인 ν˜•μ‹μ΄ λ‹€μ†Œ ν—·κ°ˆλ Έλ‹€.

double(num1 / num2)둜 ν•œλ‹€κ±°λ‚˜ int(double(num1 / num2)) 둜 ν•œλ‹€κ±°λ‚˜,

double, int λ“±μœΌλ‘œ λ°”κΏ” μ¨λ³Έλ‹€κ±°λ‚˜ λͺ¨λ‘ λ¬Έλ²•μ μœΌλ‘œ μ–΄κΈ‹λ‚˜λŠ” μš”μ†Œμ˜€λ‹€.

( ) κ΄„ν˜Έ μ•ˆ λ„£λŠ” κ²ƒμ„ μΈμ§€ν•˜μ§€ λͺ»ν•œ 채 μƒκΈ΄ λΆˆμƒμ‚¬μ˜€λ‹€.

μΆ”κ°€λ‘œ μ£Όμ–΄μ§„ int answer = λΆ€λΆ„을 double answer = μ²˜λŸΌ μž„μ˜λ‘œ λ³€κ²½ν•΄ μž…λ ₯μ‹œν‚€λ‹€κ°€

return λΆ€λΆ„μ—μ„œ (int)answer 둜 λ°˜ν™˜ν•΄ 주어도 λœλ‹€λŠ” 사싀을 깨달을 수 μžˆμ—ˆλ‹€.

주어진 μ½”λ“œ μ•ˆμ—μ„œλ§Œ ν•΄κ²°ν•˜λ €λ‹€ λ³΄λ‹ˆ 생긴 λ¬Έμ œμ˜€λ‹€.

 

class Solution {
    public int solution(int num1, int num2) {
        double answer = (double) num1 / num2 * 1000;
        
        return (int) answer;
    }
}

 

 

πŸ₯”  λ©”μ„œλ“œ μ˜€λ²„λ‘œλ”©

μ˜€λ²„λ‘œλ”© 은 ν•¨μˆ˜κ°€ ν•˜λ‚˜μ˜ κΈ°λŠ₯λ§Œμ„ κ΅¬ν˜„ν•˜λŠ” 것이 μ•„λ‹ˆλΌ ν•˜λ‚˜μ˜ λ©”μ„œλ“œ μ΄λ¦„μœΌλ‘œ μ—¬λŸ¬ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜λ„λ‘ ν•˜λŠ” Java의 κΈ°λŠ₯μž…λ‹ˆλ‹€.

즉, ν•œ 클래슀 내에 이미 μ‚¬μš©ν•˜λ €λŠ” 이름과 같은 이름을 가진 λ©”μ„œλ“œκ°€ μžˆλ”λΌλ„, λ§€κ°œλ³€μˆ˜μ˜ 개수 λ˜λŠ” νƒ€μž…, μˆœμ„œκ°€ λ‹€λ₯΄λ©΄ λ™μΌν•œ 이름을 μ‚¬μš©ν•΄μ„œ λ©”μ„œλ“œλ₯Ό μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

- μ˜€λ²„λ‘œλ”©μ˜ 쑰건

 

  • λ©”μ„œλ“œμ˜ 이름이 κ°™κ³ , λ§€κ°œλ³€μˆ˜μ˜ 개수, νƒ€μž…, μˆœμ„œκ°€ 달라야 ν•©λ‹ˆλ‹€.
  • '응닡 κ°’λ§Œ' λ‹€λ₯Έ 것은 μ˜€λ²„λ‘œλ”©μ„ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  • μ ‘κ·Ό μ œμ–΄μžλ§Œ λ‹€λ₯Έ 것도 μ˜€λ²„λ‘œλ”©μ„ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  • κ²°λ‘ , μ˜€λ²„λ‘œλ”©μ€ λ§€κ°œλ³€μˆ˜μ˜ 차이둜만 κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

- μ˜€λ²„λ‘œλ”©μ˜ μž₯점

  1. λ©”μ„œλ“œ 이름 ν•˜λ‚˜λ‘œ 상황에 λ”°λ₯Έ λ™μž‘μ„ κ°œλ³„λ‘œ μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    1. 예λ₯Ό λ“€λ©΄ λ©”μ‹œμ§€ 좜λ ₯ν•  λ•Œ μ“°λŠ” println() 이 μžˆμŠ΅λ‹ˆλ‹€.
    2. println() 의 λ§€κ°œλ³€μˆ˜λ‘œλŠ” int, double, String, boolean λ“± λ‹€μ–‘ν•˜κ²Œ 넣을 수 μžˆμŠ΅λ‹ˆλ‹€.
  2. λ©”μ„œλ“œμ˜ 이름을 μ ˆμ•½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    1. λ§Œμ•½ μ˜€λ²„λ‘œλ”©μ΄ μ•ˆλœλ‹€λ©΄ println() λŠ” printlnInt(), printlnDouble() 처럼 λ©”μ„œλ“œλͺ…이 길어지고 λ‚­λΉ„λ˜μ—ˆμ„ κ²ƒμž…λ‹ˆλ‹€.

 

 

πŸ₯”  λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ”©

λΆ€λͺ¨ ν΄λž˜μŠ€λ‘œλΆ€ν„° 상속받은 λ©”μ„œλ“œμ˜ λ‚΄μš©μ„ μž¬μ •μ˜ ν•˜λŠ” 것을 μ˜€λ²„λΌμ΄λ”©μ΄λΌκ³  ν•©λ‹ˆλ‹€.

  • λΆ€λͺ¨ 클래슀의 λ©”μ„œλ“œλ₯Ό κ·ΈλŒ€λ‘œ μ‚¬μš© κ°€λŠ₯ν•˜μ§€λ§Œ μžμ‹ 클래슀의 상황에 맞게 변경을 ν•΄μ•Ό ν•˜λŠ” 경우 μ˜€λ²„λΌμ΄λ”©μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.
  • μ˜€λ²„λΌμ΄λ”©μ„ ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ•„λž˜ 쑰건듀을 λ§Œμ‘±ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  1. μ„ μ–ΈλΆ€κ°€ λΆ€λͺ¨ 클래슀의 λ©”μ„œλ“œμ™€ μΌμΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  2. μ ‘κ·Ό μ œμ–΄μžλ₯Ό λΆ€λͺ¨ 클래슀의 λ©”μ„œλ“œ 보닀 쒁은 λ²”μœ„λ‘œ λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  3. μ˜ˆμ™ΈλŠ” λΆ€λͺ¨ 클래슀의 λ©”μ„œλ“œ 보닀 많이 μ„ μ–Έν•  수 μ—†μŠ΅λ‹ˆλ‹€.

 

πŸ“š  μ˜€λŠ˜μ˜ 회고

깊이 λ“€μ–΄κ°ˆμˆ˜λ‘ μ–΄λ €μ›Œμ§€λŠ” μžλ°”

μ–΄λ ΅μŠ΅λ‹ˆλ‹€.

ν•˜λ£¨ν•˜λ£¨ 더 μ—΄μ‹¬νžˆ ν•΄μ•Ό ν•˜λŠ”λ°

점점 꺾인닀.

꺾여도 κ·Έλƒ₯ ν•˜λŠ” 마음으둜 달린닀.