TIL - 2022

[μš°μ•„ν•œ ν…Œν¬μ½”μŠ€] ν”„λ¦¬μ½”μŠ€ 2μ£Όμ°¨ 회고

λ°”λž„ 희 2022. 11. 8. 22:02

πŸ€ λ„μž…ν•΄λ΄€μ–΄μš”

- git commit template ν”ŒλŸ¬κ·ΈμΈμ„ μ‚¬μš©ν•˜μ—¬ λ”μš± 의미 μžˆλŠ” 컀밋 λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•˜λ €κ³  ν–ˆμ–΄μš”

- μž‘μ„±μžλ§ˆλ‹€ ν΄λž˜μŠ€λ“€μ΄ μ˜λ―Έν•˜λŠ” 바와 κ²Œμž„μ˜ 흐름이 λ‹€μ–‘ν•  것이라고 μ˜ˆμƒλ˜μ–΄ κ²Œμž„μ˜ 흐름을 μ •λ¦¬ν•΄λ΄€μ–΄μš”

- κΈ°λŠ₯을 κ΅¬ν˜„ 사항을 μ •λ¦¬ν•˜λ©° 파일의 디렉토리도 ν•¨κ»˜ ꡬ상해보렀고 λ…Έλ ₯ν–ˆμ–΄μš” 

- μ‚Όν•­ μ—°μ‚°μžλ₯Ό μ“°μ§€ μ•Šμ•˜μ–΄μš”

 

μž‘μ„±ν•œ κ²Œμž„ 흐름

1. 컴퓨터가 λžœλ€ν•œ 숫자λ₯Ό μ΄μš©ν•΄ λ‹΅ μƒμ„±ν•˜κΈ°
   1-1. μœ νš¨μ„± κ²€μ‚¬ν•˜κΈ° (톡과될 μ‹œμ—λ§Œ λ„˜μ–΄κ°€κΈ°)
2. (문ꡬ 좜λ ₯) 숫자 야ꡬ κ²Œμž„μ„ μ‹œμž‘ν•©λ‹ˆλ‹€.
3. (문ꡬ 좜λ ₯) 숫자λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”
4. μ‚¬μš©μžκ°€ 숫자λ₯Ό μž…λ ₯ν•˜κΈ°
   4-1. μœ νš¨μ„± κ²€μ‚¬ν•˜κΈ° (톡과될 μ‹œμ—λ§Œ λ„˜μ–΄κ°€κΈ°)
5. λ‹΅κ³Ό μ‚¬μš©μžμ˜ μž…λ ₯값을 비ꡐ해 κ²Œμž„μ˜ κ²°κ³Ό 좜λ ₯ν•˜κΈ°
   5-1. 정닡인지 ν™•μΈν•˜κΈ°  
   - 정닡인 경우 7번으둜
   - 정닡이 μ•„λ‹Œ 경우 힌트λ₯Ό 좜λ ₯ν•˜κ³  6번으둜
6. λ‹€μ‹œ μ‚¬μš©μžμ˜ 숫자λ₯Ό μž…λ ₯λ°›κΈ° 
   - 2번으둜 λŒμ•„κ°€μ„œ λ°˜λ³΅ν•˜κΈ°
7. (문ꡬ 좜λ ₯) 3개의 숫자λ₯Ό λͺ¨λ‘ λ§žνžˆμ…¨μŠ΅λ‹ˆλ‹€! κ²Œμž„ μ’…λ£Œ
8. (문ꡬ 좜λ ₯) κ²Œμž„μ„ μƒˆλ‘œ μ‹œμž‘ν•˜λ €λ©΄ 1, μ’…λ£Œν•˜λ €λ©΄ 2λ₯Ό μž…λ ₯ν•˜μ„Έμš”.
9. μ‚¬μš©μžμ—κ²Œ κ²Œμž„ μ§„ν–‰ μ—¬λΆ€ μž…λ ₯λ°›κΈ°
   9-1. 1일 경우 1번으둜 λŒμ•„κ°€κΈ°
   9-2. 2일 경우 10으둜
10. κ²Œμž„μ„ μ’…λ£Œν•˜κΈ°

 

πŸ€ μ§‘μ€‘ν•΄λ΄€μ–΄μš”

- μΊ‘μŠν™”μ— μ§‘μ€‘ν•΄λ΄€μ–΄μš”

- λ³€μˆ˜λͺ…κ³Ό λ©”μ„œλ“œλͺ…을 μ‹ μ€‘νžˆ κ³ λ―Όν–ˆμ–΄μš”

- 각 클래슀의 역할을 λͺ…ν™•νžˆ ν•˜κ³ μž λ…Έλ ₯ν–ˆμ–΄μš”

- μ΄˜μ΄˜ν•˜κ³  의미 μžˆλŠ” ν…ŒμŠ€νŠΈμ½”λ“œλ₯Ό 짜고자 λ…Έλ ₯ν–ˆμ–΄μš”

 

πŸ€ ν΄λž˜μŠ€λ³„ μ—­ν•  정리

Answer : AnswerGeneratorκ°€ μƒμ„±ν•œ 닡을 μ €μž₯ 및 쑰회

Game : ν•˜λ‚˜μ˜ κ²Œμž„ 객체 / κ²Œμž„ ν•˜λ‚˜μ˜ 흐름을 관리 및 μƒνƒœλ₯Ό μ €μž₯

Judge : μ‚¬μš©μžμ˜ μž…λ ₯값이 볼인지, μŠ€νŠΈλΌμ΄ν¬μΈμ§€, 닡인지 확인 및 νŒλ‹¨

AnswerGenerator : 쀑볡 μ—†λŠ” λ‚œμˆ˜ 생성을 ν†΅ν•œ λ‹΅ λ°°μ—΄ 생성

Constants : μ „μ—­μ—μ„œ 주둜 μ‚¬μš©λ˜λŠ” μƒμˆ˜λ“€μ„ μ •μ˜

InputValidator : μž…λ ₯값이 μœ νš¨ν•œμ§€ 확인

UserInputAdapter : μ‚¬μš©μžμ˜ μž…λ ₯값을 상황에 따라 μ•Œλ§žκ²Œ λ³€ν™˜

GameView : 문ꡬ 좜λ ₯ 및 μ‚¬μš©μž μž…λ ₯κ°’ λ°›μŒ

Score : 점수 μ €μž₯

πŸ€ κ³ λ €ν•œ 지점듀

1. User / Computer / Answer 클래슀λͺ…

- 클래슀λͺ…을 User κ³Ό Computer (μ°Έκ°€μžλΌλŠ” μ˜λ―Έμ—μ„œ) 둜 클래슀λͺ…을 지을지, Answer 둜 두고 μ‚¬μš©μžμ˜ μž…λ ₯값은 λ”°λ‘œ 클래슀λ₯Ό 두지 μ•Šμ„μ§€μ— λŒ€ν•˜μ—¬ κ³ λ―Όν–ˆμŠ΅λ‹ˆλ‹€. κ²°κ³Όμ μœΌλ‘œλŠ” ν›„μžλ₯Ό μ„ νƒν–ˆλŠ”λ°, κ·Έ μ΄μœ λŠ” μ „μžμ˜ κ²½μš°μ—λŠ” User κ°€ μž…λ ₯ν•œ 숫자, Computer κ°€ μ„ μ •ν•œ λ‹΅μ•ˆ λ“± 클래슀 자체둜 숫자λ₯Ό λ‚˜νƒ€λ‚΄μ§€ μ•ŠλŠ”λ‹€λŠ” 생각이 λ“€μ–΄μ„œμ˜€μŠ΅λ‹ˆλ‹€.

 

2. Constants 둜 μƒμˆ˜λ₯Ό 관리

- μ „μ—­μ μœΌλ‘œ μ‚¬μš©λ˜λŠ” μƒμˆ˜λ“€μ΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μœ νš¨ν•œ λ°°μ—΄μ˜ 길이, μ •λ‹΅μœΌλ‘œ νŒλ‹¨λ˜λŠ” 슀트라이크의 개수, 숫자의 λ²”μœ„ 등이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 이λ₯Ό 맀번 클래슀 λ‚΄μ˜ μƒμˆ˜λ‘œ μ‚¬μš©ν• μ§€ μ „μ—­ μƒμˆ˜λ‘œ μ‚¬μš©ν• μ§€ κ³ λ―Όν•˜λ‹€κ°€ 맀번 μ‚¬μš©λ˜λŠ” μƒμˆ˜λ“€μ˜ κ²½μš°μ—λŠ” λ”°λ‘œ 클래슀λ₯Ό 생성해 μ „μ—­ μƒμˆ˜λ‘œ μ„ μ–Έν•˜λŠ” 것이 효율적이라고 생각해 λ”°λ‘œ λΊμŠ΅λ‹ˆλ‹€.

 

3. AnswerGenerator 와 Answer의 뢄리

- μ²˜μŒμ—λŠ” Answer 클래슀 내뢀에 랜덀 + 쀑볡 μ—†λŠ” μˆ«μžλ“€μ„ μ΄μš©ν•΄ 배열을 λ§Œλ“œλŠ” λ©”μ„œλ“œλ₯Ό λ”°λ‘œ λ’€μ—ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ΄λ ‡κ²Œ 될 경우, μœ ν‹Έλ¦¬ν‹°μ μΈ 숫자λ₯Ό μƒμ„±ν•˜λŠ” λΆ€λΆ„κ³Ό Answer μ •λ‹΅ 클래슀의 결합이 κ°•ν•΄μ§ˆ 것이라고 μ˜ˆμƒν•΄ 이λ₯Ό λŠμŠ¨ν•˜κ²Œ ν•΄μ€˜μ•Όκ² λ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ utils/AnswerGenerator 클래슀λ₯Ό λ”°λ‘œ λ‘κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μ΄λ ‡κ²Œ ν•˜κ²Œ 된 μ΄μœ λŠ” λžœλ€ν•œ μˆ«μžμ— λŒ€ν•œ ν…ŒμŠ€νŠΈλ₯Ό μ–΄λ–»κ²Œ μ§„ν–‰ν•΄μ•Ό ν• κΉŒ κ³ λ―Όν•˜λ‹€κ°€ μ°Ύμ•„λ³Έ κ²Œμ‹œκΈ€μ—μ„œ λžœλ€ν•œ 수λ₯Ό μƒμ„±ν•˜λŠ” 객체λ₯Ό λ§Œλ“€κ³ , 이λ₯Ό ν΄λž˜μŠ€μ— μ£Όμž…μ‹œν‚€λ„λ‘ ν•œ μ½”λ“œλ₯Ό μ°Έκ³ ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이가 더 ν…ŒμŠ€νŠΈν•˜κΈ°μ—λ„ 쒋은 μ½”λ“œλΌκ³  생각해 λ‚΄λ¦° κ²°μ •μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

 

4. Game κ³Ό UserInputAdapter 의 뢄리

- μ²˜μŒμ—λŠ” Game 클래슀 내뢀에 μ‚¬μš©μžμ˜ μž…λ ₯값을 λ¬Έμžμ—΄μ—μ„œ λ°°μ—΄λ‘œ λ³€ν™˜ν•˜λŠ” changeUserInputToArray λΌλŠ” λ©”μ„œλ“œλ₯Ό λ’€μ—ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ Game 클래슀의 역할을 따져봀을 λ•Œ, ν•˜λ‚˜μ˜ κ²Œμž„μ„ κ΄€λ¦¬ν•˜κ³  μƒνƒœλ₯Ό μ €μž₯ν•˜λŠ” Game ν΄λž˜μŠ€μ—μ„œ λ¬Έμžμ—΄μ—μ„œ λ°°μ—΄λ‘œ λ³€ν™˜ν•˜λŠ” 역할을 ν•˜λŠ” 것은 λ§žμ§€ μ•Šλ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μž…λ ₯을 λ°›κ³  문ꡬλ₯Ό 좜λ ₯ν•˜λŠ” GameView μ—μ„œ 이λ₯Ό μ²˜λ¦¬ν•˜λŠ” 것 μ—­μ‹œλ„ λ§žμ§€ μ•Šλ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μœ ν‹Έλ¦¬ν‹°μ μΈ 츑면이 더 κ°•ν•˜λ‹€κ³  μƒκ°ν•˜κΈ°λ„ ν–ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ utils/UserInputAdapter λΌλŠ” 클래슀λ₯Ό 두어 μ‚¬μš©μžμ˜ μž…λ ₯값을 상황에 따라 μ•Œλ§žκ²Œ λ³€ν™˜ν•  수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ decideRestart λ©”μ„œλ“œ λ‚΄λΆ€μ—μ„œ 자체적으둜 Integer.parseInt λ₯Ό μ΄μš©ν•΄ λ¬Έμžμ—΄μ„ μ •μˆ˜λ‘œ λ³€ν™˜ν•˜μ˜€μ—ˆλŠ”λ° 이 μ—­μ‹œλ„ λ”°λ‘œ λ©”μ„œλ“œλ₯Ό 두어 μ²˜λ¦¬ν•΄μ£Όμ—ˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ‹ˆ λ©”μ„œλ“œμ˜ 역할이 λΆ„λ¦¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 

 

5. Score 클래슀의 생성

Score 클래슀λ₯Ό μƒμ„±ν•˜κΈ° μ΄μ „μ—λŠ” Game 클래슀 λ‚΄λΆ€μ—μ„œ strike 와 ball 의 횟수λ₯Ό 직접 ν˜ΈμΆœν•˜μ—¬ κ³„μ‚°ν•˜κ³  힌트λ₯Ό λ°˜ν™˜ν•˜λ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ΄λ ‡κ²Œ 될 경우 μΊ‘μŠν™”κ°€ μ§€μΌœμ§€μ§€ μ•Šμ„ 것을 μš°λ €ν•˜μ˜€κ³ , 이에 따라 점수λ₯Ό μ €μž₯ν•˜λŠ” Score 객체λ₯Ό μƒμ„±ν•˜μ—¬ ν•΄λ‹Ή 객체 λ‚΄λΆ€μ—μ„œ 점수 κ΄€λ ¨ λ‘œμ§μ„ μ²˜λ¦¬ν•  수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€. 

 

πŸ€ μ†Œκ°λ¬Έ

μ €λ²ˆ μ£Όμ°¨ λ―Έμ…˜μ„ ν•˜λ©΄μ„œ ν•¨μˆ˜λ₯Ό μ΅œλŒ€ν•œ λΆ„λ¦¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” ν•˜λ‚˜μ˜ λ©”μ„œλ“œκ°€ ν•˜λ‚˜μ˜ 역할을 ν•˜λŠ” 것에 μ§‘μ€‘ν•˜λ©΄ λœλ‹€λŠ” 것을 깨달은 κ²½ν—˜μ΄ μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ΄λ²ˆμ£Όμ°¨μ—λ„ μ΅œλŒ€ν•œ ν•˜λ‚˜μ˜ λ©”μ„œλ“œμ˜ μ±…μž„μ„ κ°€λ³κ²Œ κ°€μ Έκ°€λ©΄μ„œλ„ ν™•μ‹€ν•œ μ±…μž„μ„ 질 수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μž¬μ‹œμž‘ μ—¬λΆ€λ₯Ό μž…λ ₯λ°›λŠ” λ©”μ„œλ“œμ—μ„œ μ‚¬μš©μžμ˜ μž…λ ₯값을 λ¬Έμžμ—΄μ—μ„œ μ •μˆ˜λ‘œ νŒŒμ‹±ν•˜λŠ” μ—­ν• κΉŒμ§€ ν–ˆμ—ˆλŠ”λ° νŒŒμ‹±ν•˜λŠ” 역할을 ν•˜λŠ” λ©”μ„œλ“œλ₯Ό μΆ”μΆœν•΄ μž¬μ‹œμž‘ μ—¬λΆ€λ₯Ό μž…λ ₯λ°›λŠ” λ©”μ„œλ“œμ˜ 역할을 가볍고 λͺ…ν™•ν•˜κ²Œ ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 이에 μ§‘μ€‘ν•˜λ‹€λ³΄λ©΄ ν…ŒμŠ€νŠΈμ½”λ“œ μ—­μ‹œλ„ 비ꡐ적 μ›ν™œν•˜κ²Œ μ§€ 수 μžˆλ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€. ν…ŒμŠ€νŠΈμ½”λ“œλ₯Ό μ§œλŠ” κ³Όμ •μ—μ„œ μ–΄λ–€ λ©”μ„œλ“œμ— λŒ€ν•˜μ—¬ 검증할 것인지 κ³ λ―Όν•˜λ‹€λ³΄λ©΄ 검증해야 ν•˜λŠ” 역할이 λͺ…ν™•νžˆ ν•˜λ‚˜λ‘œ μ’ν˜€μ Έμ•Όμ§€λ§Œ ν…ŒμŠ€νŠΈμ½”λ“œλ₯Ό μ†μ‰½κ²Œ μ§€ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. μ—¬λŸ¬ 역할을 ν•΄μ•Ό ν•˜λŠ” 경우 μ–΄λ–€ 뢀뢄에 μ΄ˆμ μ„ 두어 ν…ŒμŠ€νŠΈλ₯Ό ν•΄μ•Ό ν• μ§€ 혼돈이 μ™”κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. 이 과정을 톡해 μ œκ°€ 직접 λŠλ‚€ ν…ŒμŠ€νŠΈ μ½”λ“œμ˜ 역할듀은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

1. λ©”μ„œλ“œμ˜ 역할에 λŒ€ν•΄ κ³ λ―Όν•΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. μ•žμ„œ μ–ΈκΈ‰ν•œ 것과 같이 κ·Έ 역할이 λͺ…ν™•ν•˜κ²Œ ν•˜λ‚˜μΈμ§€, 이에 따라 λ©”μ„œλ“œλͺ…이 이λ₯Ό 잘 λ‚˜νƒ€λ‚΄κ³  μžˆλŠ”μ§€λ„ λΆ€κ°€μ μœΌλ‘œ κ³ λ―Όν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€

2. λ©”μ„œλ“œ κ°„μ˜ 결합도에 λŒ€ν•΄ κ³ λ―Όν•˜κ²Œ λ©λ‹ˆλ‹€. λ©”μ„œλ“œ κ°„μ˜ 결합도가 κ°•ν•œ κ²½μš°μ—λŠ” μ„ λœ» ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μ§œκΈ°κ°€ μ–΄λ €μ› μŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ λ©”μ„œλ“œμ— λŒ€ν•œ ν…ŒμŠ€νŠΈ μ—­μ‹œλ„ ν•¨κ»˜ κ³ λ―Όν•΄μ•Ό ν–ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. 이λ₯Ό ν† λŒ€λ‘œ 결합도λ₯Ό λŠμŠ¨ν•˜κ²Œ ν•˜λŠ” 방면을 κ³ λ―Όν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€

3. μ½”λ“œ μˆ˜μ • μ‹œμ— μ§€ν‘œκ°€ λ©λ‹ˆλ‹€. μ½”λ“œλ₯Ό μˆ˜μ •ν•˜κ³  맀번 μŠ΅κ΄€μ μœΌλ‘œ 기쑴의 ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό λŒλ €λ΄€μŠ΅λ‹ˆλ‹€. ν•˜λ‚˜μ˜ ν΄λž˜μŠ€μ—μ„œ μˆ˜μ •λœ λ©”μ„œλ“œκ°€ λ‹€λ₯Έ 클래슀의 ν…ŒμŠ€νŠΈμ½”λ“œμ—μ„œ 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚¨λ‹€λ©΄ μˆ˜μ •λœ λ©”μ„œλ“œκ°€ λ‹€λ₯Έ ν΄λž˜μŠ€μ—μ„œλ„ μ‚¬μš©λ˜μ—ˆλ‹€λŠ” μ˜λ―Έμ΄λ―€λ‘œ μ–΄λ”” 뢀뢄을 ν•¨κ»˜ μˆ˜μ •ν•΄μ•Ό ν• μ§€ μ†μ‰½κ²Œ νŒŒμ•…ν•  수 있고, μ‹€μˆ˜λ₯Ό λ°©μ§€ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

이λ₯Ό λ°”νƒ•μœΌλ‘œ λ©”μ„œλ“œλ₯Ό μ§€ λ•Œμ— 무엇을 κΈ°μ€€μœΌλ‘œ κΈ°λŠ₯을 뢄리해야 ν• μ§€, λ˜ν•œ, ν•¨μˆ˜λͺ…κ³Ό 클래슀λͺ…을 λ‹€λ°©λ©΄μœΌλ‘œ κ³ λ―Όν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€. μ°Έμ—¬μžλΌλŠ” μ˜λ―Έμ—μ„œ User κ³Ό Computer 둜 이름 지을지, 숫자 츑면에 더 μ§‘μ€‘ν•˜μ—¬ Answer κ³Ό UserInput μ΄λΌλŠ” 클래슀λ₯Ό 생성할지 κ³ λ―Όν–ˆμŠ΅λ‹ˆλ‹€. μ €λŠ” ν›„μžλ‘œ μ„ νƒν–ˆλŠ”λ° κ·Έ μ΄μœ λŠ” 쑰금 더 μˆ«μžλΌλŠ” 의미λ₯Ό λ‹΄κΈ° μœ„ν•΄μ„œμ˜€μŠ΅λ‹ˆλ‹€.

λ˜ν•œ 이번 μ£Όμ°¨μ—λŠ” getter 와 setter λ₯Ό 두지 μ•ŠκΈ° μœ„ν•΄ 처음으둜 점수의 μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” enum 을 μ‚¬μš©ν•΄λ΄€μŠ΅λ‹ˆλ‹€. λ³Όκ³Ό 슀트라이크 횟수λ₯Ό 직접 νŒλ‹¨ν•˜λŠ” 것이 μ•„λ‹ˆλΌ μƒνƒœλ‘œ μ €μž₯ν•˜κ³  이에 따라 λ°˜ν™˜κ°’μ„ λ‹€λ₯΄κ²Œ ν•˜λŠ” κ²ƒμœΌλ‘œ κ°œμ„ ν•΄λ΄€μŠ΅λ‹ˆλ‹€.

이번 μ£Όμ°¨ λ―Έμ…˜μ„ ν†΅ν•΄μ„œ λ§Žμ€ 어렀움과 μ’Œμ ˆκ°μ„ λŠκΌˆμ§€λ§Œ, 2μ£Όμ°¨ λ―Έμ…˜ μ•ˆλ‚΄μ— μ“°μ—¬ μžˆλŠ” λŒ€λ‘œ μ΅œλŒ€ν•œ μ €μ˜ 고톡과 μ’Œμ ˆμ„ μžˆλŠ” κ·ΈλŒ€λ‘œ 받아듀이고 배울 점을 μ°Ύκ³  μ„±μž₯ν•΄ λ‚˜κ°„λ‹€λŠ” μƒκ°μœΌλ‘œ 즐기고자 λ…Έλ ₯ν–ˆκΈ°μ— λ§Œμ‘±ν•©λ‹ˆλ‹€. 이번 주도 λ§Žμ€ μ„±μž₯을 이룬 ν•œ μ£Όμ˜€μŠ΅λ‹ˆλ‹€.