πŸ‘¨‍πŸ’»κ°œλ°œ/πŸ“šStudy

OOP의 5λŒ€ 원칙 (SOLID)

kimtongting μž…λ‹ˆλ‹€ 2020. 9. 2. 16:04

SOLID 원칙 항상 κΈ°μ–΅ν•˜μž

 

S: λ‹¨μΌ μ±…μž„ μ›μΉ™(SRP, Single Responsibility Principle)
κ°μ²΄λŠ” λ‹¨ ν•˜λ‚˜μ˜ μ±…μž„λ§Œ κ°€μ Έμ•Ό ν•œλ‹€.


O: κ°œλ°©-폐쇄 μ›μΉ™(OCP, Open Closed Principle)
기쑴의 μ½”λ“œλ₯Ό λ³€κ²½ν•˜μ§€ μ•ŠμœΌλ©΄μ„œ κΈ°λŠ₯을 μΆ”κ°€ν•  μˆ˜ μžˆλ„둝 μ„€κ³„κ°€ λ˜μ–΄μ•Ό ν•œλ‹€.


L: λ¦¬μŠ€μ½”ν”„ μΉ˜ν™˜ μ›μΉ™(LSP, Liskov Substitution Principle)
μΌλ°˜ν™” κ΄€κ³„에 λŒ€ν•œ μ΄μ•ΌκΈ°λ©°, μžμ‹ ν΄λž˜μŠ€λŠ” μ΅œμ†Œν•œ μžμ‹ μ˜ λΆ€λͺ¨ ν΄λž˜μŠ€μ—μ„œ κ°€λŠ₯ν•œ ν–‰μœ„λŠ” μˆ˜ν–‰ν•  μˆ˜ μžˆμ–΄μ•Ό ν•œλ‹€.


I: μ˜μ‘΄ μ—­μ „ μ›μΉ™(DIP, Dependency Inversion Principle) 의쑴 κ΄€κ³„λ₯Ό λ§Ίμ„ λ•Œ λ³€ν™”ν•˜κΈ° μ‰¬μš΄ κ²ƒ λ˜λŠ” μžμ£Ό λ³€ν™”ν•˜λŠ” κ²ƒλ³΄λ‹€λŠ” λ³€ν™”ν•˜κΈ° μ–΄λ €μš΄ κ²ƒ, κ±°μ˜ λ³€ν™”κ°€ μ—†λŠ” κ²ƒμ— μ˜μ‘΄ν•˜λΌλŠ” κ²ƒμ΄λ‹€.


D: μΈν„°νŽ˜μ΄μŠ€ λΆ„리 μ›μΉ™(ISP, Interface Segregation Principle)
μΈν„°νŽ˜μ΄μŠ€λ₯Ό ν΄λΌμ΄μ–ΈνŠΈμ— νŠΉν™”λ˜λ„λ‘ λΆ„λ¦¬μ‹œν‚€λΌλŠ” μ„€κ³„ μ›μΉ™μ΄λ‹€.

 

 

λ°˜μ‘ν˜•