Skip to content

Latest commit

Β 

History

History
85 lines (74 loc) Β· 4.99 KB

step4.md

File metadata and controls

85 lines (74 loc) Β· 4.99 KB

[Step4] 볼링 점수판 (nλͺ…)

κΈ°λŠ₯ μš”κ΅¬ 사항

  • 1λͺ… μ΄μƒμ˜ μ‚¬μš©μžκ°€ μ‚¬μš©ν•  수 μžˆλŠ” λ³Όλ§κ²Œμž„ μ μˆ˜νŒμ„ κ΅¬ν˜„ν•œλ‹€.

ν”„λ‘œκ·Έλž˜λ° μš”κ΅¬ 사항

  • 객체지ν–₯ μƒν™œ 체쑰 원칙 을 μ§€ν‚€λ©΄μ„œ ν”„λ‘œκ·Έλž˜λ°ν•œλ‹€.
    • κ·œμΉ™ 1: ν•œ λ©”μ„œλ“œμ— 였직 ν•œ λ‹¨κ³„μ˜ λ“€μ—¬μ“°κΈ°λ§Œ ν•œλ‹€.
    • κ·œμΉ™ 2: else μ˜ˆμ•½μ–΄λ₯Ό 쓰지 μ•ŠλŠ”λ‹€.
    • κ·œμΉ™ 3: λͺ¨λ“  μ›μ‹œκ°’κ³Ό λ¬Έμžμ—΄μ„ 포μž₯ν•œλ‹€.
    • κ·œμΉ™ 4: ν•œ 쀄에 점을 ν•˜λ‚˜λ§Œ μ°λŠ”λ‹€.
    • κ·œμΉ™ 5: 쀄여쓰지 μ•ŠλŠ”λ‹€(μΆ•μ•½ κΈˆμ§€).
    • κ·œμΉ™ 6: λͺ¨λ“  μ—”ν‹°ν‹°λ₯Ό μž‘κ²Œ μœ μ§€ν•œλ‹€.
    • κ·œμΉ™ 7: 3개 μ΄μƒμ˜ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λ₯Ό 가진 클래슀λ₯Ό 쓰지 μ•ŠλŠ”λ‹€.
    • κ·œμΉ™ 8: 일급 μ½œλ ‰μ…˜μ„ μ“΄λ‹€.
    • κ·œμΉ™ 9: κ²Œν„°/μ„Έν„°/ν”„λ‘œνΌν‹°λ₯Ό 쓰지 μ•ŠλŠ”λ‹€.
  • 객체지ν–₯ 5원칙 (SOLID) 을 μ§€ν‚€λ©΄μ„œ ν”„λ‘œκ·Έλž˜λ°ν•œλ‹€.
    • SRP (λ‹¨μΌμ±…μž„μ˜ 원칙: Single Responsibility Principle)
      • μž‘μ„±λœ ν΄λž˜μŠ€λŠ” ν•˜λ‚˜μ˜ κΈ°λŠ₯만 가지며 ν΄λž˜μŠ€κ°€ μ œκ³΅ν•˜λŠ” λͺ¨λ“  μ„œλΉ„μŠ€λŠ” κ·Έ ν•˜λ‚˜μ˜ μ±…μž„(λ³€ν™”μ˜ μΆ•: axis of change)을 μˆ˜ν–‰ν•˜λŠ” 데 μ§‘μ€‘λ˜μ–΄ μžˆμ–΄μ•Ό ν•œλ‹€
    • OCP (κ°œλ°©νμ‡„μ˜ 원칙: Open Close Principle)
      • μ†Œν”„νŠΈμ›¨μ–΄μ˜ κ΅¬μ„±μš”μ†Œ(μ»΄ν¬λ„ŒνŠΈ, 클래슀, λͺ¨λ“ˆ, ν•¨μˆ˜)λŠ” ν™•μž₯μ—λŠ” μ—΄λ €μžˆκ³ , λ³€κ²½μ—λŠ” λ‹«ν˜€μžˆμ–΄μ•Ό ν•œλ‹€.
    • LSP (λ¦¬μŠ€μ½”λΈŒ μΉ˜ν™˜μ˜ 원칙: The Liskov Substitution Principle)
      • μ„œλΈŒ νƒ€μž…μ€ μ–Έμ œλ‚˜ 기반 νƒ€μž…μœΌλ‘œ ꡐ체할 수 μžˆμ–΄μ•Ό ν•œλ‹€. 즉, μ„œλΈŒ νƒ€μž…μ€ μ–Έμ œλ‚˜ 기반 νƒ€μž…κ³Ό ν˜Έν™˜λ  수 μžˆμ–΄μ•Ό ν•œλ‹€.
    • ISP (μΈν„°νŽ˜μ΄μŠ€ λΆ„λ¦¬μ˜ 원칙: Interface Segregation Principle)
      • ν•œ ν΄λž˜μŠ€λŠ” μžμ‹ μ΄ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μΈν„°νŽ˜μ΄μŠ€λŠ” κ΅¬ν˜„ν•˜μ§€ 말아야 ν•œλ‹€.
    • DIP (μ˜μ‘΄μ„±μ—­μ „μ˜ 원칙: Dependency Inversion Principle)
      • ꡬ쑰적 λ””μžμΈμ—μ„œ λ°œμƒν•˜λ˜ ν•˜μœ„ 레벨 λͺ¨λ“ˆμ˜ 변경이 μƒμœ„ 레벨 λͺ¨λ“ˆμ˜ 변경을 μš”κ΅¬ν•˜λŠ” μœ„κ³„κ΄€κ³„λ₯Ό λŠλŠ” 의미의 μ—­μ „ 원칙이닀.

좜λ ₯ κ²°κ³Ό

How many people? 2
ν”Œλ ˆμ΄μ–΄ 1의 이름은?(3 english letters): PJS
ν”Œλ ˆμ΄μ–΄ 2의 이름은?(3 english letters): KYJ
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |      |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |
|  KYJ |      |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |

PJS's turn : 10
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |
|  KYJ |      |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |

KYJ's turn : 8
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |
|  KYJ |  8   |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |

KYJ's turn : 2
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |
|  KYJ |  8|/ |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |

PJS's turn : 8
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |  8   |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |
|  KYJ |  8|/ |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |

PJS's turn : 2
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |  8|/ |      |      |      |      |      |      |      |      |
|      |  20  |      |      |      |      |      |      |      |      |      |
|  KYJ |  8|/ |      |      |      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |      |      |      |      |

KYJ's turn : 10
| NAME |  01  |  02  |  03  |  04  |  05  |  06  |  07  |  08  |  09  |  10  |
|  PJS |  X   |  8|/ |      |      |      |      |      |      |      |      |
|      |  20  |      |      |      |      |      |      |      |      |      |
|  KYJ |  8|/ |  X   |      |      |      |      |      |      |      |      |
|      |  20  |      |      |      |      |      |      |      |      |      |

PJS's turn : 

...