관리 메뉴

λͺ©λ‘πŸ› οΈ Software Architecture/OOP (2)

deVlog

[OOP] μƒμ†λ³΄λ‹€λŠ” 쑰립을 μ΄μš©ν•˜μž

λͺ©μ°¨  πŸ”₯ 상속을 ν†΅ν•œ κΈ°λŠ₯ μž¬μ‚¬μš© μ‹œ λ°œμƒν•  수 μžˆλŠ” λ‹¨μ μƒμœ„ 클래슀 λ³€κ²½ μ–΄λ €μ›€ν΄λž˜μŠ€ 증가상속 μ˜€μš©μ•„λž˜μ—μ„œ 각 단점에 λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄μž. 1) μƒμœ„ 클래슀 λ³€κ²½ μ–΄λ €μ›€μœ„ κ·Έλ¦Όκ³Ό 같이 μƒμœ„ 클래슀λ₯Ό λ³€κ²½ν•˜κ²Œ 되면 κ·Έ 변경이 λͺ¨λ“  ν•˜μœ„ ν΄λž˜μŠ€μ— 영ν–₯을 쀄 수 μžˆλ‹€.즉, μƒμœ„ 클래슀λ₯Ό 쑰금만 잘λͺ» 변경해도 λͺ¨λ“  ν•˜μœ„ ν΄λž˜μŠ€κ°€ λΉ„μ •μƒμ μœΌλ‘œ λ™μž‘ν•  수 있게 λœλ‹€.λ”°λΌμ„œ ν•˜μœ„ ν΄λž˜μŠ€κ°€ λ§Žμ•„μ§€λ©΄ λ§Žμ•„μ§ˆμˆ˜λ‘ μƒμœ„ 클래슀λ₯Ό λ³€κ²½ν•˜λŠ” 것이 맀우 μ–΄λ €μ›Œμ§„λ‹€.  2) 클래슀 증가왼μͺ½μ— μžˆλŠ” 그림처럼 Storage ν΄λž˜μŠ€μ™€ ν•΄λ‹Ή 클래슀λ₯Ό 상속받은 CompressedStorage, EncryptedStorage κ°€ μžˆλ‹€κ³  가정을 ν•΄λ³΄μž. CompressedStorage -> μ••μΆ• κΈ°λŠ₯ μΆ”κ°€, EncryptedStorag..