엠마의 개발공부일지

SOLID원칙 (좋은객체지향설계 5원칙) 본문

Stack/Spring & Springboot

SOLID원칙 (좋은객체지향설계 5원칙)

Emmababy 2021. 1. 7. 07:38
728x90

 

 

 

좋은 웹 개발자가 되기위해 SOLID원칙을 정리하여 머리에 새겨보려한다.

여기서 📌의존한다? = "그 클래스내에 생성된 코드를 알고있다" 로 이해한다

 

 

 

 

1. SRP

Single Responsibility Principle

단일책임원칙

✔ 각 클래스는 단 하나의 책임을 가져야 한다.

(하나의 부품인 클래스가 여러책임을 가지면 주변과 결합이 많아진다. 그러면 유지보수가 어렵다)

 

 

2. OCP

Open-Closed Principle

오픈폐쇄원칙

✔ 기존코드를 수정하지 않고(Closed) 수정 및 확장할 수 있도록(Open) 설계해야한다.

(인터페이스에서 클래스를 하나 더 생성하는것은 오픈폐쇄원칙에 맞다)

 

 

3. LSP

Liskov Substitution Principle

리스코프치환원칙

✔ 인터페이스의 기능을 그대로 구현해야한다.

(부모와 자식클래스사이에 일관성이 있어야한다

-자동차 기능을 구현할때 브레이크밟을때 뒤로가면 안되는것과 맥락이비슷)

 

 

4. ISP

Interface Segregation Principle

인터페이스 분리원칙

✔ 기능별로 인터페이스를 분리해야한다

(하나의 일반적인 인터페이스보다는, 여러개의 구체적인 인터페이스가 낫다, 사용하지않는 인터페이스를 구현하지않기위함)

 

 

5. DIP

Dependency Inversion Principle

의존관계역전원칙

✔ 의존관계형성시 인터페이스와 같은 역할part를 의존해야한다

(변경이 쉬운 구현체를 의존하면 안된다)

 

 

 

 

 

 

 

 

[참고] dev-momo.tistory.com/entry/SOLID-%EC%9B%90%EC%B9%99

728x90
Comments