flow-vector

πŸ’‘ μ‘°μ˜ν˜Έλ‹˜μ˜ 였브젝트λ₯Ό 읽고 생각을 μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

 

μ‘°μ˜ν˜Έλ‹˜μ˜ “객체지ν–₯의 사싀과 μ˜€ν•΄”λΌλŠ” 책을 읽고 μ–΄λŠ 정도 객체지ν–₯μ΄λž€ 무엇 인가에 λŒ€ν•΄ λŠλ‚Œμ„ 얻을 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ ν•΄λ‹Ή μ±…μ—μ„œλŠ” μ½”λ“œλ³΄λ‹€λŠ” μ΄μƒν•œ λ‚˜λΌμ˜ μ—˜λ¦¬μŠ€μ—μ„œμ˜ μ˜ˆμ‹œλ₯Ό 가지고 μ„€λͺ…을 ν•΄μ£Όμ–΄μ„œ λͺ¨ν˜Έν•œ λŠλ‚Œμ„ 받은 뢀뢄이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

ν˜„μž¬ ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜λ©΄μ„œ, 객체의 μ±…μž„κ³Ό 역할에 λŒ€ν•΄μ„œ 생각해보고 μ–΄λ–€ 메세지λ₯Ό 톡해 μ„œλ‘œ μ†Œν†΅ν•  수 있게 ν•  것인가 κ³ λ―Όν•˜λ˜ μ°°λ‚˜ 쒋은 μ½”λ“œλ₯Ό 보고 μ‹Άλ‹€λŠ” 생각이 λ“€μ—ˆμŠ΅λ‹ˆλ‹€. 마침 “ 였브젝트” λΌλŠ” μ±…μ—μ„œλŠ” μ‹€μ œ μ½”λ“œλ₯Ό κΈ°μ€€μœΌλ‘œ 이야기λ₯Ό ν•΄μ€€λ‹€κ³  ν•΄μ„œ 읽게 λ˜μ—ˆκ³  읽은 λ‚΄μš©μ„ μ •λ¦¬ν•˜κ³ μž ν•©λ‹ˆλ‹€.

첫번째 μ±•ν„°λŠ” 마치 “객체지ν–₯의 사싀과 μ˜€ν•΄” μš”μ•½λ³Έ κ°™μ•˜μŠ΅λ‹ˆλ‹€.

μ€‘μš” ν‚€μ›Œλ“œλ‘œλŠ” μ˜μ‘΄μ„±, μΊ‘μŠν™”, 섀계 정도가 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 졜근 ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€λ©΄μ„œ μ§€μ†μ μœΌλ‘œ κ³ λ―Όν•˜λ˜ 뢀뢄듀이라 도움을 받을 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

μ–΄λ–»κ²Œ λΆˆν•„μš”ν•œ μ˜μ‘΄μ„±μ„ λŠμ–΄λ‚Ό 수 μžˆμ„κΉŒ?

μ˜μ‘΄μ„±μ„ λŠμ–΄λ‚΄μ•Ό ν•˜λŠ” μ΄μœ λŠ” 변경에 λŒ€μ‘ν•˜κΈ° μ‰¬μš΄ μ½”λ“œλ₯Ό μž‘μ„±ν•˜κΈ° μœ„ν•¨μž…λ‹ˆλ‹€. μ—¬λŸ¬ 객체가 μ„œλ‘œ μ˜μ‘΄μ„±μ΄ μžˆμ„ 수둝 νŠΉμ • 객체λ₯Ό μˆ˜μ •ν•΄μ•Όν•  λ•Œ μ˜μ‘΄μ„±κ΄€κ³„μ— μžˆλŠ” 객체의 μ½”λ“œλ₯Ό λͺ¨λ‘ μˆ˜μ •ν•΄μ•Όλ˜λŠ” 단점이 μƒκΉλ‹ˆλ‹€.

μ΄λ ‡κ²Œ λ³€ν™”μ˜ 폭이 컀질 수둝 버그가 λ°œμƒν•  ν™•λ₯ μ΄ 올라갈 λΏλ§Œμ•„λ‹ˆλΌ μ½”λ“œ μˆ˜μ •μ— 두렀움이 μƒκΈ°κ²Œ λ˜λ©΄μ„œ λΉ λ₯΄κ²Œ 변화에 λŒ€μ‘ν•˜κΈ° μ–΄λ €μ›Œμ§€κΈ° κΉŒμ§€ ν•©λ‹ˆλ‹€.

κ²°κ΅­ 객체λ₯Ό 자율적인 쑴재둜 λ§Œλ“ λ‹€λ©΄ μ˜μ‘΄μ„±μ„ μžμ—°μŠ€λŸ½κ²Œ λŠμ–΄ λ‚Ό 수 μžˆμ„ 것이라고 μ±…μ—μ„œ 이야기 ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

객체λ₯Ό 자율적 쑴재둜 λ§Œλ“€κΈ° μœ„ν•΄μ„œ 객체가 κ°€μ Έμ•Όν•˜λŠ” 데이터λ₯Ό μΊ‘μŠν™”μ‹œν‚€κ³  μžμ‹ μ˜ λ°μ΄ν„°λŠ” μžμ‹ μ΄ μ²˜λ¦¬ν•  수 μžˆλ„λ‘ ν•˜λŠ” 것을 ꢌμž₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€. (μ˜μΈν™” ν•˜κΈ°)

μ„€κ³„λž€ μ–΄λ–»κ²Œ ν•΄μ•Όλ˜λŠ” κ²ƒμΌκΉŒ?

졜초둜 ν•΄λ‹Ή μ§ˆλ¬Έμ— λŒ€ν•΄ 고민을 ν–ˆμ„ λ•ŒλŠ” λͺ¨λ“  것을 정해놓고 μ½”λ“œλ₯Ό 짜보렀고 ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ΄λ ‡κ²Œ ν•˜λ €λ‹ˆ λ¨Έλ¦¬μ†μœΌλ‘œ 고민만 κΉŠμ–΄μ§€κ³  결과물이 λ‚˜μ˜€μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 이번 μ±•ν„°μ—μ„œ λ§ν•œ λ‚΄μš©μ΄ 정말 μ™€λ‹Ώμ•˜μŠ΅λ‹ˆλ‹€.

“섀계와 κ΅¬ν˜„μ„ λ”°λ‘œ 떼어놓고 이야기할 수 μ—†λ‹€”

κ°œλ°œμ„ ν•˜λ‹€λ³΄λ‹ˆ μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  λ‹€μ‹œ μž¬λ°°μΉ˜ν•˜κ³ λ₯Ό λ°˜λ³΅ν•˜λ©΄μ„œ 완성도 높은 μ½”λ“œκ°€ λ‚˜μ˜¨λ‹€λŠ” 것을 κ²½ν—˜μ μœΌλ‘œ μ•Œκ²Œ λ˜μ—ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

μ—”μ§€λ‹ˆμ–΄λ§μ€ νŠΈλ ˆμ΄λ“œ μ˜€ν”„μ˜ 산물이기 λ•Œλ¬Έμ— μ—¬λŸ¬ 섀계 방법 쀑 μ–΄λ–€ 섀계λ₯Ό μ„ νƒν•˜κ²Œ 될 κ²ƒμΈκ°€λŠ” λ§Žμ€ κ²½ν—˜μ„ μŒ“κ²Œ 되면 μ•Œ 수 있게 λ˜μ§€ μ•Šμ„κΉŒ μ‹ΆμŠ΅λ‹ˆλ‹€. μ•„μ§κΉŒμ§€λŠ” κ²½ν—˜μ΄ 많이 λΆ€μ‘±…

profile

flow-vector

@flow-vector

ν¬μŠ€νŒ…μ΄ μ’‹μ•˜λ‹€λ©΄ "μ’‹μ•„μš”β€οΈ" λ˜λŠ” "κ΅¬λ…πŸ‘πŸ»" ν•΄μ£Όμ„Έμš”!