OOP의 5가지 원칙,
우리 밥아저씨(Robert C. Martin) 가 주창한 방법론
- S: Single responsivbility principle (단일 책임 원칙)
-> 객체는 하나의 책임만 가져야 한다. (여러 기능이 복합적으로 수행된다면 복잡도가 늘어나고, 유지 보수에 문제가 생길 수 있다.)
- O: Open/Closed princible (개방 / 폐쇄 원칙)
-> 확장에는 열려있으나 수정에는 닫혀있어야 한다.
- L: Liskov's substitution principle (리스코프 치환 법칙)
-> 자식 Class 는 부모 Class 를 대신할 수 있다. (1987년 리스코프가 주창한 법칙)
- I: Interface segregation principle (인터페이스 분리 원칙)
-> 인터페이스가 서로 분리되어 있어야 한다. (관련 없는 인터페이스 구현 불필요)
- D: Dependency inversion principle (의존성 역전 법칙)
-> 고차원 객체는 저차원 객체에 의존하면 안된다.