πŸŽ„ μ„±μž₯일지 3.1

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

🌳 ν‚€μ›Œλ“œ (1.0)
μ΅œλŒ€ν•œ κ°„λ‹¨ν•˜κ²Œ 정리, 좔후에 λ³΄λ©΄μ„œ 슀슀둜 μ„€λͺ…
πŸ‰ κ²½ν—˜ μœ„μ£Όλ‘œ (2.0)
λ‹¨μˆœ 정보λ₯Ό μ „λ‹¬ν•˜κΈ°λ³΄λ‹€ 무엇을 λ°°μ› κ³  μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆλŠ”μ§€ 짧고 κ°„λ‹¨ν•˜κ²Œ μž‘μ„±
❄️ 정해진 ν…œν”Œλ¦Ώμ— λ§žμΆ°μ„œ (3.0)
ν‚€μ›Œλ“œ, κ²½ν—˜ λͺ¨λ‘ μ’‹λ‹€. λ‹€λ§Œ 맀일 μž‘μ„±ν•˜κΈ°λ‘œ 마음 λ¨Ήμ€λ§ŒνΌ ν•΅μ‹¬λ§Œ κ°„κ²°ν•˜κ²Œ 정리할 수 있게 ν…œν”Œλ¦Ώμ„ μž‘μ„± (3.1) 230102λΆ€ν„° μ‹œμž‘λ˜λŠ” ν•™μŠ΅μ— κ΄€ν•œ λ‚΄μš© μΆ”κ°€

πŸ”‘ 였늘의 ν‚€μ›Œλ“œ

일급 객체

  • 일급 μ‹œλ―Όμ΄λž€ μ–΄λ–€ ν˜œνƒμ„ λ°›λŠ” 게 μ•„λ‹Œ, μ‚¬μš©ν•  λ•Œ λ‹€λ₯Έ μš”μ†Œλ“€κ³Ό μ•„λ¬΄λŸ° 차별이 μ—†λ‹€λŠ” 의미
    • λͺ¨λ“  일급 κ°μ²΄λŠ” ν•¨μˆ˜μ˜ μ‹€μ§ˆμ μΈ λ§€κ°œλ³€μˆ˜κ°€ 될 수 μžˆλ‹€.
    • λͺ¨λ“  일급 κ°μ²΄λŠ” ν•¨μˆ˜μ˜ λ°˜ν™˜κ°’μ΄ 될 수 μžˆλ‹€.
    • λͺ¨λ“  일급 κ°μ²΄λŠ” ν• λ‹Ήμ˜ λŒ€μƒμ΄ 될 수 μžˆλ‹€.
    • λͺ¨λ“  일급 κ°μ²΄λŠ” 비ꡐ 연산을 μ μš©ν•  수 μžˆλ‹€.
  • μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œμ˜ ν•¨μˆ˜λŠ” 일급 객체이닀.

λ‹€ν˜•μ„±

  • 같은 λͺ¨μ–‘μ˜ μ½”λ“œκ°€ λ‹€λ₯Έ ν–‰μœ„λ₯Ό ν•˜λŠ” 것
  • ν•Έλ“œν°μ˜ ν‚€νŒ¨λ“œλ‘œ 닀이얼도 λˆ„λ₯΄κ³ , 문자λ₯Ό ν•˜κΈ°λ„ ν•˜κ³ , κ²Œμž„μ„ ν•˜λŠ” 것도 λ””λ°”μ΄μŠ€ κΈ°μ€€μ˜ λ‹€ν˜•μ„± μ˜ˆμ‹œ(λΉ„μœ )라고 λ³Ό 수 μžˆλ‹€.
  • ν•˜λ‚˜μ˜ λ©”μ„œλ“œλ‚˜ ν΄λž˜μŠ€κ°€ μžˆμ„ λ•Œ, 이것듀이 λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ λ™μž‘ν•˜λŠ” μ„±μ§ˆ
  • λ‹€ν˜•μ„±μ„ μ΄μš©ν•œ λŒ€ν‘œμ μΈ κΈ°λŠ₯이 μ˜€λ²„λ‘œλ”©, μ˜€λ²„λΌμ΄λ”©μ΄λ‹€.

좔상화

  • 핡심적인 κ°œλ… λ˜λŠ” κΈ°λŠ₯을 κ°„μΆ”λ €λ‚΄λŠ” 것
  • ꡬ체적인 μ‚¬λ¬Όλ“€κ°„μ˜ 곡톡점을 μ·¨ν•˜κ³  차이점을 λ²„λ¦¬λŠ” 것
  • μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ for, while 문법도 λ°˜λ³΅μ΄λΌλŠ” κ°œλ…μ„ μΆ”μƒν™”ν•˜μ—¬ κ΅¬ν˜„ν•œ 것

μΈν„°νŽ˜μ΄μŠ€

  • κ·Ήλ‹¨μ μœΌλ‘œ λ™μΌν•œ λͺ©μ  ν•˜μ— λ™μΌν•œ κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κ²Œλ” κ°•μ œν•˜λŠ” 것
  • 일반적으둜 μžλ°”μ—μ„œλŠ” μžλ°”μ˜ λ‹€ν˜•μ„±μ„ κ·ΉλŒ€ν™”ν•˜μ—¬ κ°œλ°œμ½”λ“œ μˆ˜μ •μ„ 쀄이고 μœ μ§€λ³΄μˆ˜μ„±μ„ 높이기 μœ„ν•΄ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©
  • 즉, ν•˜λ‚˜μ˜ 규격(톡일성을 κ°€μ Έκ°€κΈ° μœ„ν•œ)

μΊ‘μŠν™”

  • 객체(보톡 클래슀)의 λ‚΄λΆ€ λ³€μˆ˜(ν”„λ‘œνΌν‹°)와 λ©”μ„œλ“œλ₯Ό ν•˜λ‚˜λ‘œ νŒ¨ν‚€μ§•ν•˜λŠ” 것
  • μΊ‘μŠν™” μ‹œ, 객체 λ‚΄λΆ€μ˜ κ΅¬ν˜„μ„ 숨긺으둜써 정보λ₯Ό 은닉할 수 μžˆλ‹€.

λͺ¨λ“ˆ

  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬μ„±ν•˜λŠ” νŒŒμΌλ“€μ˜ λ‹¨μœ„
  • λŒ€κ°œ 클래슀 ν•˜λ‚˜ ν˜Ήμ€ νŠΉμ •ν•œ λͺ©μ μ„ 가진 볡수의 ν•¨μˆ˜λ‘œ κ΅¬μ„±λœ 라이브러리 ν•˜λ‚˜λ‘œ κ΅¬μ„±λœλ‹€.
  • μžλ°”μŠ€ν¬λ¦½νŠΈκ°€ λ§Œλ“€μ–΄μ§„ μ΄ˆκΈ°μ—λŠ” 슀크립트의 크기와 κΈ°λŠ₯이 μž‘κΈ°μ— λͺ¨λ“ˆν™” κΈ°λŠ₯이 ν•„μš”ν•˜μ§€ μ•Šμ•˜μ§€λ§Œ, μ‹œκ°„μ΄ 흘러 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 규λͺ¨κ°€ μ»€μ§€λ©΄μ„œ μ—¬λŸ¬ νŒŒμΌλ“€μ„ λͺ¨λ“ˆν™”ν•  ν•„μš”κ°€ 생겼닀.

메타 νƒ€μž…

  • μŠ€μœ„ν”„νŠΈμ—μ„œ 주둜 μ“°λŠ” κ°œλ…μœΌλ‘œ νƒ€μž…μ˜ νƒ€μž…μ„ λ§ν•œλ‹€.
  • νƒ€μž… 자체λ₯Ό κ°€λ¦¬μΌœμ•Όν•  κ²½μš°κ°€ μžˆμ–΄ λ§Œλ“€μ–΄μ‘Œλ‹€.

Enum

  • enumerated type의 μ•½μžλ‘œ μ—΄κ±°ν˜•μ΄λΌκ³  λΆ€λ₯Έλ‹€.
  • μ„œλ‘œ μ—°κ΄€λœ μƒμˆ˜λ“€μ˜ 집합
  • μžλ°”μŠ€ν¬λ¦½νŠΈμ—λŠ” enum이 λ”°λ‘œ μ—†κΈ° λ•Œλ¬Έμ— λΉ„μŠ·ν•˜κ²Œ κ΅¬ν˜„ν•  수 μžˆλ‹€.
  • Object.freeze ν˜Ήμ€ Symbol을 μ΄μš©ν•  수 μžˆλ‹€.
  • 참고둜 typescriptμ—λŠ” enum이 κ΅¬ν˜„λ˜μ–΄μžˆλ‹€.
  • class와 같은 λ™κΈ‰μ˜ λ‹¨μœ„μ΄λ‹€.
let Direction = {EAST: 0, WEST:1, SOUTH: 2, NORTH:3};
const EnumDirection = Object.freeze(Direction);

UML(Undefined Modeling Language)

  • μ–΄λ–€ ν”„λ‘œκ·Έλž¨μ„ 섀계할 λ•Œ 이λ₯Ό λ„μ‹ν™”ν•˜κ³  μ„œλ‘œ μ†Œν†΅ν•˜κΈ° μœ„ν•œ κΈ°μ€€
  • class λ‹¨μœ„λ‘œ λ‹€μ΄μ–΄κ·Έλž¨μ„ κ·Έλ¦¬λŠ” class diagram이 λŒ€ν‘œμ μΈ 방법 쀑 ν•˜λ‚˜

πŸ“ μš”μ•½ 및 ν•˜λ£¨ 간단 회고

객체지ν–₯κ³Ό μ‘°κΈˆμ€ μ•„μ£Ό μ‘°κΈˆμ€ κ°€κΉŒμ›Œμ§„ λŠλ‚Œμ΄μ—ˆλŠ”λ°β€¦ 아직 더 많이 μΉœν•΄μ Έμ•Όν•  것 κ°™λ‹€. γ…Žγ…Ž
κ·Έλž˜λ„ μͺΌκΈˆμ€ classλ₯Ό λ‹€λ£¨λŠ” 게 μ΅μˆ™ν•΄μ‘Œκ³ , μ‹€μ œλ₯Ό 객체둜 κ΅¬ν˜„ν•˜λŠ” 것에 거뢀감이 μ‚¬λΌμ‘Œλ‹€. 이번 λ―Έμ…˜ λ‚œμ΄λ„ 덕뢄에 μ„€ μ—°νœ΄λ„ μ—΄μ‹¬νžˆ 곡뢀할 수 있게 λ˜μ—ˆλ‹€ γ…Žγ…Žγ…Žν•³ν•³
맀일 맀일 μ–΄μ œμ˜ λ‚˜λ³΄λ‹€ μ„±μž₯ν•˜λŠ” 기뢄을 λŠλΌλ©΄μ„œ κ³΅λΆ€ν•˜μž! :)

였늘의 μž˜ν•œ 점

  • λ“£κ³  있던 κ°•μ˜ 파트λ₯Ό λ§ˆλ¬΄λ¦¬ν•œ 점
  • 객체지ν–₯에 λŒ€ν•΄ κ³΅λΆ€ν•˜κ³  μ‘°κΈˆμ΄λΌλ„ 섀계해보렀고 λ…Έλ ₯ν•œ 점

였늘의 μ•„μ‰¬μš΄ 점

  • λ„ˆλ¬΄ λ¦¬λ“œλ―Έ 파일 μž‘μ„±μ— λͺ°λ‘ν•œ 점…(μ–Όλ₯Έ μ½”λ“œ 써라)