JAVA

쒋은 객체 지ν–₯ μ„€κ³„μ˜ 5가지 원칙 ( SOLID )

μ˜€μ„ μ§€β™¬ 2022. 3. 6. 11:58
728x90
λ°˜μ‘ν˜•

πŸ’œ SRP ( Single Responsibility Principle )     - 단일 μ±…μž„ 원칙

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

πŸ’› LSP ( Liskov Substitution Principle )       - λ¦¬μŠ€μ½”ν”„ μΉ˜ν™˜ 원칙

πŸ’š ISP ( Interface Segregation Principle )    - μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙 

πŸ’™ DIP ( Dependency Inversion Principle )   - μ˜μ‘΄κ΄€κ³„ μ—­μ „ 원칙

 

 

 

 

πŸ’œ SRP ( Single Responsibility Principle )     - 단일 μ±…μž„ 원칙

 

    βž– ν•œ ν΄λž˜μŠ€λŠ” ν•˜λ‚˜μ˜ μ±…μž„λ§Œ κ°€μ Έμ•Ό ν•œλ‹€.

 

 

 

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

 

    βž– μ†Œν”„νŠΈμ›¨μ–΄ μš”μ†ŒλŠ” ν™•μž₯μ—λŠ” μ—΄λ €μžˆμœΌλ‚˜ λ³€κ²½μ—λŠ” λ‹«ν˜€ μžˆμ–΄μ•Ό ν•œλ‹€.

 

 

 

πŸ’› LSP ( Liskov Substitution Principle )       - λ¦¬μŠ€μ½”ν”„ μΉ˜ν™˜ 원칙

 

    βž– ν”„λ‘œκ·Έλž¨μ˜ κ°μ²΄λŠ” ν”„λ‘œκ·Έλž¨μ˜ 정확성을 κΉ¨λœ¨λ¦¬μ§€ μ•ŠμœΌλ©΄μ„œ ν•˜μœ„ νƒ€μž…μ˜ μΈμŠ€ν„΄μŠ€λ‘œ λ°”κΏ€ 수 μžˆμ–΄μ•Ό ν•œλ‹€.

 

 

 

πŸ’š ISP ( Interface Segregation Principle )    - μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙 

 

     βž– νŠΉμ • ν΄λΌμ΄μ–ΈνŠΈλ₯Ό μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€ μ—¬λŸ¬ κ°œκ°€ λ²”μš© μΈν„°νŽ˜μ΄μŠ€ ν•˜λ‚œλ³΄λ‹€ λ‚«λ‹€.

 

 

 

πŸ’™ DIP ( Dependency Inversion Principle )   - μ˜μ‘΄κ΄€κ³„ μ—­μ „ 원칙

 

    βž– 좔상화에 μ˜μ‘΄ν•΄μ•Όν•œλ‹€. ꡬ체화에 μ˜μ‘΄ν•˜λ©΄ μ•ˆλœλ‹€.

         μ΄λ§μ€ μ¦‰μŠ¨ κ΅¬ν˜„ ν΄λž˜μŠ€μ— μ˜μ‘΄ν•˜μ§€ 말고, μΈν„°νŽ˜μ΄μŠ€μ— μ˜μ‘΄ν•˜λΌλŠ” λœ»μ΄λ‹€.

     

728x90
λ°˜μ‘ν˜•

'JAVA' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

new() 와 getInstance()의 차이  (0) 2022.04.10
μ‹±κΈ€ν„΄ νŒ¨ν„΄ ( Singleton pattern )  (0) 2022.04.09
[JAVA] beakλ¬Έ, continueλ¬Έ, labelλ¬Έ  (0) 2022.03.05
hashCode(), toString()  (0) 2022.03.04
λ‚΄λΆ€ 클래슀 ( inner class )  (0) 2022.03.03