1. OCP ( Open Close Principle )
개방 폐쇄의 원칙은 특정 클래스는 그 클래스를 수정하지 않으면서 확장이 가능해야 한다는 원칙이다. 객체지향에서 OCP 는 상속을 통한 구현과, 포함을 통한 구현이 있다.
2. LSP ( Liskov Substitution Principle )
리스코프 치환 원칙은 컴퓨터 프로그램에서 자료형 S가 자료형 T의 하위형이라면 필요한 프로그램의 속성의 변경없이 자료형 T의 객체를 자료형 S의 객체로 교체(치환)할 수 있어야 한다는 원칙이다.
3. DIP ( Dependency Inversion Principle )
의존 역전의 원칙은 구현 클래스가 아닌 인터페이스를 사용하라는 규칙이다. 구현되는 클래스는 자주 변경될 가능성이 높기 때문에 변경 가능성이 상대적으로 적은 추상타입이나 메서드에 의존하면 변화에 따른 영향을 최소화 할 수 있다.
4. SRP ( Single Responsibility Principle)
단일 책임의 원칙은 객체는 단 한개의 책임만 가져야 한다는 규칙이다. 두 개 이상의 책임을 갖는 경우 변하는 책임에 의해 변하지 않는 책임도 영향을 받아서 연쇄적인 수정이 발생할 가능성 또는 위험성을 미연에 방지하는데 있다.
5. ISP ( Interface Surrogate Principle )
인터페이스 분리 원칙으로 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다는 원리이다. 즉, 어떤 클래스가 다른 클래스에 종속될 때에는 가능한 최소한의 인터페이스만들 사용해야 한다는 것이다.
'정리글' 카테고리의 다른 글
Design Pattern 에 대한 정리의 글, from wiki (0) | 2020.04.06 |
---|---|
2019.04.05, 대전 도안 신도시 상황 정리(부동산 투자관련) (0) | 2019.04.05 |
네이버 개발자들 어떻게 일하나? (0) | 2019.03.23 |
디자인패턴에 대한 사용을 위한 정리 (0) | 2019.03.23 |
c++ P2P Program 분석 및 소스코드오픈 (0) | 2019.03.20 |