flow-vector

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

 

이번 μž₯μ—μ„œλŠ” μ‹œμŠ€ν…œμ„ 객체지ν–₯ νŒ¨λŸ¬λ‹€μž„μ„ 톡해 λ§Œλ“€κΈ° μœ„ν•΄ “κ°μ²΄λ“€μ˜ ν˜‘λ ₯ν•˜λŠ” 곡동체”λ₯Ό λ§Œλ“€μ–΄μ•Όν•œλ‹€λŠ” μ „μ œν•˜μ— μ–΄λ–€ μ‚¬κ³ μ˜ 흐름을 톡해 λ§Œλ“€μ–΄ λ‚Ό 수 μžˆμ„ 것인가λ₯Ό μ„€λͺ…ν•˜κ³  μžˆλ‹€.

객체 ν•œ 개λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄ μ–΄λ–€ 사고 과정을 거쳐 λ‚˜κ°€μ•Όν• κΉŒ?

μ–΄λ–€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 객체가 μ‘΄μž¬ν•˜λŠ” μ΄μœ λŠ” ν•΄λ‹Ή 객체가 “ν˜‘λ ₯”에 μ°Έμ—¬ ν•˜κ³  있기 λ•Œλ¬Έμ΄λ‹€.

즉, κ°μ²΄λŠ” ν˜‘λ ₯에 ν•„μš”ν•œ νŠΉμ • 행동을 ν•˜κ³  μžˆμ„ 것이닀.

λ”°λΌμ„œ μ•„λž˜μ˜ 사고 과정을 κ±°μ³μ„œ ν•˜λ‚˜μ˜ 객체λ₯Ό λ§Œλ“€ 수 μžˆμ„ 것이닀.

  1. κΈ°λŠ₯ μ œκ³΅μ„ μœ„ν•΄ μ–΄λ–€ ν˜‘λ ₯이 ν•„μš”ν• κΉŒ? (베이슀 κΉ”κ³  κ°€λŠ”μƒκ°)
    • ν˜‘λ ₯은 섀계λ₯Ό μœ„ν•œ λ¬Έλ§₯을 μ œκ³΅ν•˜κΈ° λ•Œλ¬Έμ— κ°€μž₯ μš°μ„ μ‹œ λ˜μ–΄ μƒκ°λ˜μ–΄μ•Όν•œλ‹€.
  2. ν˜‘λ ₯ μ•ˆμ—μ„œ μ–΄λ–€ μ±…μž„(행동)이 ν•„μš”ν• κΉŒ?
    • μ‹œμŠ€ν…œμ΄ μ œκ³΅ν•΄μ•Όν•  κΈ°λŠ₯을 ν•˜λ‚˜μ˜ μ±…μž„μ΄λΌκ³  μƒκ°ν•˜κ³  μ‹œμž‘
      • 계속 μž‘μ€ μ±…μž„μœΌλ‘œ λ‚˜λˆ κ°€λ©΄μ„œ μƒκ°ν•˜κΈ°
    • ν˜‘λ ₯에 μ°Έμ—¬ν•˜κΈ° μœ„ν•΄ 객체가 κ°€μ Έμ•Όν•˜λŠ” 행동을 생각해야 ν•œλ‹€.
    • 행동 μžμ²΄κ°€ λ‚˜μ™€ ν˜‘λ ₯ν•˜λŠ” μ™ΈλΆ€ κ°μ²΄λ“€μ—κ²Œ μ œκ³΅ν•΄μ•Όν•  λ©”μ‹œμ§€κ°€ 될 κ²ƒμž„.
  3. μ±…μž„(행동)을 κ°€μž₯ 잘 μˆ˜ν–‰ ν• μˆ˜ μžˆλŠ” κ°μ²΄λž€?
    • μ±…μž„μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ 정보λ₯Ό μΆ©λΆ„νžˆ 가지고 μžˆλŠ” μ „λ¬Έκ°€λ₯Ό κ³ μš©ν•˜μž!
    • κ°μ²΄λŠ” 행동과 μƒνƒœλ₯Ό 가진닀.
      • 객체가 μ–΄λ–€ 행동을 ν•˜λŠ”μ§€λ₯Ό λ¨Όμ € κ²°μ •ν•˜κ³  κ·Έ 행동에 ν•„μš”ν•œ μƒνƒœλ₯Ό 가지도둝 μ„€κ³„ν•΄μ•Όν•œλ‹€.
        • 객체가 자율적으둜 행동할 수 μžˆλŠ” μΊ‘μŠν™”λ₯Ό μ§€ν‚€λŠ”λ° 도움이 λ˜λŠ” 사고 κ³Όμ •.

μ±…μž„μ˜ 집합 μ—­ν• 

역할을 λ¨Όμ € μƒκ°ν•˜λŠ” 사고 과정을 톡해 μ±…μž„μ„ ν•œλ²ˆλ” 좔상화할 수 있게 λœλ‹€.

μ—­ν• λ‘œμ„œ ν•œλ²ˆ 더 좔상화 ν•˜κ²Œ 되면 μœ μ—°ν•˜κ³  μž¬μ‚¬μš©κ°€λŠ₯ν•œ ν˜‘λ ₯을 λ§Œλ“€ 수 μžˆλ‹€λŠ” μž₯점이 μžˆλ‹€.

같은 역할을 ν•˜λŠ” 객체듀을 묢을 수 있고 이후에 μƒˆλ‘œμš΄ 객체λ₯Ό μΆ”κ°€ ν• λ•Œ μœ μ—°ν•˜κ²Œ 될 것이닀.

역할을 κ΅¬ν˜„ν•˜λŠ” 방법은 2μž₯μ—μ„œ μ„€λͺ…ν–ˆλ˜ μΆ”μƒν΄λž˜μŠ€, μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„ν•  수 μžˆλ‹€.

μš”μ•½

섀계 초반의 μƒκ°μ˜ 흐름은 μ•„λž˜μ™€ κ°™λ‹€.

  1. μ‹œμŠ€ν…œμ΄ μ œκ³΅ν•΄μ•Όν•  μ±…μž„μ€ λ¬΄μ—‡μΌκΉŒ?
  2. μ±…μž„μ„ 잘 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ 객체듀은 μ–΄λ–€ ν˜‘λ ₯을 κ°€μ§ˆ 수 μžˆμ„κΉŒ?
  3. ν˜‘λ ₯μ•ˆμ—μ„œ κ°μ²΄λŠ” μ–΄λ–€ μ±…μž„(행동)을 μˆ˜ν–‰ν•  수 μžˆμ„κΉŒ?
  4. μ΄λŸ¬ν•œ μ±…μž„μ΄ μ—­ν• λ‘œ 묢일 수 μžˆμ„κΉŒ?
  5. ν•΄λ‹Ή μ±…μž„μ„ κ°€μž₯ 잘 μˆ˜ν–‰ν•  수 μžˆλŠ” 객체λ₯Ό λ§Œλ“€μ–΄λ³΄μž
  6. 객체λ₯Ό λ§Œλ“€λ•ŒλŠ” 행동이 μš°μ„ μ΄κ³  행동을 μœ„ν•œ μƒνƒœλ₯Ό λ§Œλ“€μž
profile

flow-vector

@flow-vector

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