본문 바로가기
Camp/정리

[OOP] SOLID 원칙

by 뭔가 한다 2024. 11. 12.

SRP(Single Responsibility Principle) - 단일책임의 원칙

작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수행하는 데 집중되어있어야 한다. ⇒ 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이다.

클래스가 변경 될 때 파급 효과가 작으면 된다.

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

객체의 확장은 개방적으로, 객체의 수정은 폐쇄적으로 하는 것

⇒ 하나의 변화가 다른곳에서 연쇄적 변화를 일으키는 것을 방지 (새로운 기능을 추가 할 때 기존 코드를 수정하지 않고 확장 할 수 있도록 설계할 것)

⇒ 다형성 활용

LSP(Liskov Substitution Principle) - 리스코프 치환 원칙

자식 클래스는 언제나 부모 클래스를 대체 할 수 있어야 한다. 

ISP(Interface Segregation Principle) - 인터페이스 분리 원칙

한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다.

  • 클래스가 다른 클래스에 종속될 때 최소한의 인터페이스 만을 사용해야 한다.
  • 클라이언트는 자신이 아숏하지 않는 메소드에 의존하지 않아야 한다. 

DIP(Dependency Inversion Principle) - 의존 역전 원칙

고수준 모듈은 저수준 모듈의 구현에 의존해서는 안된다. 저수준 모듈이 고수준 모듈에서 정의한 추상타입에 의존해야 한다.

⇒ 자신보다 변하기 쉬운것에 의존해서는 안된다.

 

'Camp > 정리' 카테고리의 다른 글

[KPT 회고] 뉴스피드 프로젝트  (0) 2024.11.25
JPA를 활용한 join 구현과 Project Trouble Shooting  (0) 2024.11.24
[TIL/JAVA] ArithmeticException  (0) 2024.10.15
1주차 프로젝트 회고록  (0) 2024.10.07
Backend 용어 정리  (0) 2024.10.07