CS

[CS] 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° 섀계 원칙 : SOLID

carsumin 2024. 11. 10. 16:49
단일 μ±…μž„ 원칙 (Single Responsibility Principle)

 

  • λͺ¨λ“  ν΄λž˜μŠ€λŠ” 각각 ν•˜λ‚˜μ˜ μ±…μž„λ§Œ κ°€μ Έμ•Ό 함
  • 예λ₯Ό λ“€μ–΄μ„œ AλΌλŠ” 둜직이 있으면 μ–΄λ–€ ν΄λž˜μŠ€λŠ” A에 κ΄€ν•œ ν΄λž˜μŠ€μ—¬μ•Ό ν•˜κ³  이λ₯Ό μˆ˜μ •ν•˜λ”λΌλ„ A와 κ΄€λ ¨λœ μˆ˜μ •μ΄μ–΄μ•Ό 함

 

개방-폐쇄 원칙 (Open-Closed Principle)

 

  • 기쑴의 μ½”λ“œλŠ” μ‰½κ²Œ λ³€κ²½ν•˜μ§€ μ•ŠμœΌλ©΄μ„œ ν™•μž₯은 μ‰½κ²Œ ν•  수 μžˆμ–΄μ•Ό 함

 

λ¦¬μŠ€μ½”ν”„ μΉ˜ν™˜ 원칙 (Likov Substitution Principle)

 

  • ν”„λ‘œκ·Έλž¨μ˜ κ°μ²΄λŠ” 정확성을 κΉ¨λœ¨λ¦¬μ§€ μ•ŠμœΌλ©΄μ„œ ν•˜μœ„ νƒ€μž…μ˜ μΈμŠ€ν„΄μŠ€λ‘œ λ°”κΏ€ 수 μžˆμ–΄μ•Ό 함
  • 예λ₯Ό λ“€μ–΄ ν΄λž˜μŠ€κ°€ 상속이 λ˜μ–΄μ„œ λΆ€λͺ¨, μžμ‹ 계측이 λ§Œλ“€μ–΄μ§€λ©΄ λΆ€λͺ¨ 객체에 μžμ‹ 객체λ₯Ό 넣어도 μ‹œμŠ€ν…œμ΄ λ¬Έμ œμ—†μ΄ λŒμ•„κ°€μ•Ό 함

 

μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙 (Interface Segregation Principle)

 

  • ν•˜λ‚˜μ˜ 일반적인 μΈν„°νŽ˜μ΄μŠ€λ³΄λ‹€ ꡬ체적인 μ—¬λŸ¬ 개의 μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ§Œλ“€μ–΄μ•Ό 함

 

의쑴 μ—­μ „ 원칙 (DIP, Dependency Inversion Principle)

 

  • μžμ‹ λ³΄λ‹€ λ³€ν•˜κΈ° μ‰¬μš΄ 것에 μ˜μ‘΄ν•˜λ˜ 것을 μΆ”μƒν™”λœ μΈν„°νŽ˜μ΄μŠ€λ‚˜ μƒμœ„ 클래슀λ₯Ό 두어 λ³€ν•˜κΈ° μ‰¬μš΄ κ²ƒμ˜ 변화에 영ν–₯λ°›μ§€ μ•Šκ²Œ ν•˜λŠ” 것
  • μƒμœ„ 계측은 ν•˜μœ„ κ³„μΈ΅μ˜ 변화에 λŒ€ν•œ κ΅¬ν˜„μœΌλ‘œλΆ€ν„° 독립해야함

 

μ°Έκ³ 

 

  • 면접을 μœ„ν•œ CS 전곡지식 λ…ΈνŠΈ